ম্যাকোস ক্যাটালিনা 10.15 এ এক্সডিবেগ ইনস্টলেশন


13

আমি ওএস এক্স 10.15 এ Xdebug ইনস্টল করার চেষ্টা করেছি এবং নিম্নলিখিত সমস্যাটিতে চলেছি:

/private/tmp/pear/install/xdebug/xdebug.c:25:10: মারাত্মক ত্রুটি: 'php.h' ফাইল পাওয়া যায় নি

আমি এখানে বর্ণিত সমস্যার মতো সমস্যাটি সমাধান করার চেষ্টা করেছি: ম্যাকওস মোজভেভে এক্সডিবাগ ইনস্টল করা - 'পিএইচপি.এস.' ফাইলটি পাওয়া যায় নি

দুর্ভাগ্যক্রমে এই ডিরেক্টরিতে শিরোনামের ফাইলগুলি পাওয়া যাবে না: /Library/Developer/CommandLineTools/Packages

ওএস এক্স 10.15 এর জন্য আমি বর্তমান শিরোনাম ফাইলগুলি পেতে পারি এমন কোনও ধারণা?

উত্তর:


28

TL; ড

অ্যাপল হেডার ফাইল /usr/includeএবং macOS_SDK_headers_for_macOS_10.14.pkgপ্যাকেজটি মুছে ফেলার সিদ্ধান্ত নিয়েছে । Xdebug ইনস্টল করার জন্য, আপনি নিজে উভয় সঠিক রেফারেন্স সঙ্গে Xdebug কম্পাইল করতে হবে phpizeএবং make

আরও তথ্যের জন্য, আমি সমস্যা এবং সমাধান সম্পর্কে একটি ব্লগ নিবন্ধ লিখেছিলাম


দীর্ঘ গল্প সংক্ষিপ্ত, অ্যাপল /usr/includeম্যাকওএস ক্যাটালিনাকে অনুগ্রহ করার সিদ্ধান্ত নিয়েছে , যা ইউনিক্স সিস্টেমে চিরকালের জন্য সি হেডার ফাইলের জন্য ডিফল্ট অবস্থান default PEAR / PECL এর মাধ্যমে ইনস্টল করার চেষ্টা করলে একটি ত্রুটি ফিরে আসবে কারণ সংকলকটিতে প্রয়োজনীয় শিরোনাম ফাইলটি সন্ধান করবে /usr/include। সুতরাং সমাধানটি হ'ল Xdebug কে ম্যানুয়ালি সংকলন করা হয়েছে, ম্যানুয়ালি হ্যাডার ফাইলগুলির আসল অবস্থানটি ম্যানুয়ালি নির্দিষ্ট করে, যা এখনও অন্য কোনও স্থানে এক্সকোড দ্বারা সরবরাহিত।

প্রথমে নিশ্চিত হয়ে নিন যে কমান্ড লাইনের সরঞ্জামগুলি সহ Xcode ইনস্টল করা আছে। নিম্নলিখিত কমান্ডটি ডিফল্ট SDK এর অবস্থান প্রদর্শন করবে:

$ xcrun --show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

আপনি যে শিরোনামটি চান তা ( php.h) এর পরে আসবে /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php/main

উত্স পাচ্ছে

গিট থেকে উত্স কোড পেয়ে, 2.7.2 সংকলন করা যাক । বিকল্পভাবে, আপনি উত্সটি ডাউনলোড করতে পারেন Xdebug সাইট উত্সটি

git clone https://github.com/xdebug/xdebug.git
cd xdebug
git checkout tags/2.7.2

phpize

এর পরে আমাদের একটি অনুলিপি তৈরি করতে হবে phpizeযাতে আমরা অন্তর্ভুক্ত পথটি সম্পাদনা করতে পারি:

cp /usr/bin/phpize .
nano ./phpize

এই লাইনটি সন্ধান করুন:

includedir="`eval echo ${prefix}/include`/php"

... এবং এই লাইনের সাথে এটি প্রতিস্থাপন করুন:

includedir="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php"

চালান phpize:

./phpize

আপনার এখন এই জাতীয় কিছু দেখা উচিত:

Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731

কনফিগার করুন এবং বিল্ড করুন

আমরা এখন কনফিগার করতে পারি:

./configure --enable-xdebug

... এবং সংকলক পতাকা হিসাবে সংজ্ঞায়িত আমাদের কাস্টম এসডিকে অবস্থান ব্যবহার করে রান করুন:

make CPPFLAGS='-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php/main -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php/TSRM -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php/Zend -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php/ext -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php/ext/date/lib'

কিছু সতর্কতা দেখতে পারে, আপাতত এটি উপেক্ষা করুন। শেষ পর্যন্ত, আমাদের চালানো দরকার:

make install

আবার, এই আদেশটি ব্যর্থ হবে কারণ এটি এক্সটেনশনটিকে সঠিক জায়গায় সরাতে পারে না। এসআইপি এটি প্রতিরোধ করবে। তবে কোনও উদ্বেগের দরকার নেই, আমরা পরবর্তী পদক্ষেপে সেই ম্যানুয়ালি যত্ন নেব। মেক ইনস্টল এখনও প্রয়োজনীয় কারণ এটি * .so ফাইলটিতে স্বাক্ষর করবে।

পিএইচপি-তে সমর্থিত সক্ষম

এরপরে, আমরা নির্বাহযোগ্যকে অন্য কোথাও নিরাপদে স্থানান্তরিত করি। আমি ব্যবহার /usr/local/php/extensions

sudo mkdir -p /usr/local/php/extensions
sudo cp /usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so /usr/local/php/extensions

তারপরে আমরা এক্সডিবাগ সক্ষম করতে পিএইচপি কনফিগারেশন সম্পাদনা করি। সহজভাবে সম্পাদনা করুন php.ini:

sudo nano /etc/php.ini

এবং আমরা নীচে নীচে যুক্ত করুন:

[xdebug]
zend_extension=/usr/local/php/extensions/xdebug.so
xdebug.remote_enable=on
xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_port=9000

নিশ্চিত হতে সার্ভারে বিল্ট পুনরায় চালু করুন:

sudo apachectl restart

এবং সবশেষে পরীক্ষা ভাল হয়েছে:

php -i | grep "xdebug support"

উপরের কমান্ডটি যদি কিছু না ফেরায় তবে এক্সডেব্যাগ আপনার ইনস্টলে উপলব্ধ নয়। কী অনুপস্থিত তা খুঁজে পেতে পদক্ষেপগুলি ফিরে যান।


সম্পাদনা

আরও একটি স্থির ফলাফল হ'ল ফলাফলটি সম্পাদন করা php-config --include-dir, যা প্রত্যাবর্তন করে /usr/include/php। এটি কোনও ইনস্টলেশন ম্যানুয়ালি ফাইল বা সংকলক পতাকা সম্পাদনা না করে প্রয়োজনীয় হেডার ফাইলগুলি সন্ধান করবে।


1
সবচেয়ে মূল্যবান উত্তর! এটি সঠিক হিসাবে চিহ্নিত করা উচিত! ধন্যবাদ জনাব!
এলোটোটো

আপনি আমার দিন
বাঁচিয়েছেন

এটি সমস্যা সমাধানের সেরা উপায়। এটা আমার জন্য কাজ করেছে। ধন্যবাদ, লুই
রাজা মোহাম্মদ

1
পিএইচপি 7.4 সহায়তার জন্য আপনার এক্সডিবেগ 2.9 ইনস্টল করতে হবে (2.7.2 নয়)। কেবলমাত্র এই ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন এবং make installএই পোস্টের "পিএইচপি সমর্থিত সক্ষম" অধ্যায়ের সমস্ত পদক্ষেপগুলি করার পরে। মনে রাখবেন যে আপনার কাছে php.iniবিভিন্ন জায়গায় ফাইল থাকতে পারে । php --iniকোথায় এবং এটি পরিবর্তে ব্যবহৃত হচ্ছে তা সম্পাদনা করতে চালান ।
দেজভ

./configureআদেশ না হওয়া পর্যন্ত আমি ভাল ছিলাম । আমি একটি পেতে রাখা no such file or directory: ./configure। অন্য কেউ এর মধ্যে দৌড়ে যায় বা আমি কি কেবল ভাগ্যবান? : ডি
cbloss793

0

আপনি যদি ব্রু ব্যবহার করছেন তবে আমি পিএইচপি পুনরায় ইনস্টল করে পুনরায় লিঙ্ক করে এটি সমাধান করব:

brew reinstall php@7.3
brew link --overwrite php

কাজ করিনি, ডুড।
এরিক চেন

দুর্ভাগ্যক্রমে ব্রিউ স্টাফগুলি আপনার সংস্করণগুলির উপর নির্ভর করে আশানুরূপভাবে কাজ করে না।
জেমসস্টার্লিং

-1

আপনি এই সাইটে প্যাচগুলি ব্যবহারের জন্য প্রস্তুত সহ বিস্তারিত নির্দেশাবলীর সন্ধান করতে পারেন: https://profilingviewer.com/installing-xdebug-on-catalina.html


1
উত্তরগুলি যে প্রাথমিকভাবে কোনও বাহ্যিক সাইটের রেফারেন্সে তথ্যের সংক্ষিপ্তসার অন্তর্ভুক্ত করা উচিত যাতে এটি একটি প্রাথমিক উত্স পাশাপাশি একটি রেফারেন্স হয়। এটি উত্তরকে সময়ের পরীক্ষায় দাঁড়াতে সহায়তা করবে।
লুই চারেটে

-2

আমি আপনাকে পিএইচপি ইনস্টল করার জন্য "ব্রিউ" ব্যবহার করার পরামর্শ দিচ্ছি, এবং তারপরে এক্সডিব্যাগ ইনস্টল করার জন্য বারু'র পিএইচপি ইনস্টলিত সংস্করণ সহ "পেকল" সরঞ্জামটি ব্যবহার করুন।


আমি ঠিক তাই করেছি। পেকল দিয়ে এক্সডিবুগ ইনস্টল করার চেষ্টা করার সময় আমি উল্লিখিত ত্রুটিটি পেয়েছি
গুয়েন্টার

1
এর অর্থ এটি ভুল পেকল সরঞ্জামটি তুলেছে - এটি আপনার ম্যাকের সাথে ইনস্টল করা। আপনার প্রদান করা বার তৈরির বিষয়টি নিশ্চিত করা দরকার make
ডেরিক

@ গুন্টার কি এই ইঙ্গিতটি আপনার সমস্যার সমাধান করেছে? আমার একই সমস্যা হচ্ছে এবং করেছি brew install phpতবে এখনও একই ত্রুটি পাচ্ছি।
কার্টর পেপ

ধন্যবাদ @ ডেরিক, এটি আমার তদন্তটি সমাধান করেছে
গুয়েন্টার

1
pecl install xdebug10.15.3 এর নীচে আমার জন্য কাজ করেছেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.