ইয়োসেমাইটে আপগ্রেড করার পরে অ্যাপাচি সমস্যা


8

আমার ম্যাক ওয়েব সার্ভার ইয়োসেমাইটে আপগ্রেড করার পরে কাজ করবে না। আমি যখন apachectlটার্মিনাল টাইপ করি তখন আমি এটি পাই:

httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n  Referenced from: /usr/local/php5/libphp5.so\n  Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so

যদি আমি টাইপ করি তবে sudo apachectl [re]startকিছুই ঘটে না, যেন এটি শুরু হয়ে যায় এবং আমি আবার টাইপ করি তবে এটি বলে যে এটি ইতিমধ্যে চলছে। এছাড়াও, আমার কাছে ওয়েব শেয়ারিং পছন্দসই ফলকটি ইনস্টল করা আছে ( http://clickontyler.com/web-sharing/ ) এবং আমি যখন অফ থেকে অনে স্যুইচটি ফিক্স করি তখন এটি এখনও বন্ধ বলে জানায়, যদিও স্যুইচটি অন অবস্থানে রয়েছে? ।

আপনি ছেলেরা কোন ফাইলগুলি দেখতে চান / দেখতে চান? সত্যই এই ASAP ঠিক করা প্রয়োজন।

উত্তর:


6

দয়া করে নোট করুন যে ইয়োসেমাইট ইনস্টলারটি নতুন / ডিফল্ট অ্যাপাচি ২.৪ কনফিগারেশন ফাইলের সাহায্যে পুরো /private/etc/apache2/httpd.conf ফাইলকে ওভাররাইট করে।

উদাহরণস্বরূপ, যদি কোনও Listenনির্দেশ যুক্ত করা হয় তবে সেগুলি অদৃশ্য হয়ে যাবে এবং আবার যুক্ত করার প্রয়োজন হবে। উদাহরণ:

Listen 127.0.0.1:81

আমি নিম্নলিখিত ফাইলটিতে আমার পুরানো কনফিগারেশনটি পেয়েছি, তবে ২.২ থেকে পার্থক্যের কারণে এটি সম্ভবত সরাসরি http.conf ফাইলের অনুলিপি করা উচিত নয়:

/private/etc/apache2/httpd.conf~previous

এখানে একটি আপগ্রেড গাইড রয়েছে: http://httpd.apache.org/docs/2.4/upgrading.html

পূর্বে অন্তর্ভুক্ত অতিরিক্ত কনফিগারেশন ফাইলগুলি এখনও অন্তর্ভুক্ত রয়েছে তা নিশ্চিত করুন এবং তারপরে কমান্ডটি দিয়ে কনফিগারেশনটি পরীক্ষা করুন:

sudo apachectl configtest

কিভাবে যে প্রশ্নের উত্তর দেয়? অ্যাপাচি আপগ্রেড করার পরে আপনি কোন পিএইচপি মডিউলটি লোড করছেন তা পরিবর্তন করা উচিত নয় ...
AlxVallejo

8

সমস্যা দেখা দেয় কারণ ইয়োসেমাইট অ্যাপাচি (২.৪) এর সর্বশেষতম সংস্করণ ইনস্টল করে যেখানে ম্যাক ওএস এক্স এর পূর্ববর্তী সংস্করণগুলি অ্যাপাচি সংস্করণ ২.২ ব্যবহার করেছে

ত্রুটি থেকে, এটি প্রদর্শিত হচ্ছে যে আপনি অ্যাপল সরবরাহ করেছেন পিএইচপি এর স্ট্যান্ডার্ড সংস্করণটি ব্যবহার করেন নি তবে লিপ.চ. দ্বারা সরবরাহিত একটি আলাদা সংস্করণ were উপরের নুটিেক্স দ্বারা প্রস্তাবিত # চিহ্নটি সরিয়ে ফেললে পিএইচপি (5.5.14) এর অ্যাপল সংস্করণ লোড হবে। আপনি যদি লিপ দ্বারা সরবরাহিত সংস্করণটি চালিয়ে যেতে চান তবে আপনাকে এটি পুনরায় ইনস্টল করতে হবে যাতে এটি অ্যাপাচি ২.৪ এ সঠিকভাবে লোড হয়। একটি বিস্তারিত ব্যাখ্যা এখানে দেখুন: ( http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html )

এনবি আপনি যদি ভার্চুয়াল হোস্ট ব্যবহার করে থাকেন তবে আপনার সম্ভবত আপনার কনফিগারেশন ফাইলগুলি কিছুটা পরিবর্তন করতে হবে। বিশেষত আপনার নিম্নলিখিত পরিবর্তন করতে হবে:

২.২ কনফিগারেশন:

Order allow,deny
Allow from all

২.৪ কনফিগারেশন:

Require all granted

4

মনে হচ্ছে আপনি এটিকে ঠিক করতে পারেন সরানোর# নিম্নলিখিত লাইনের beggining এ /etc/apache2/httpd.confফাইল:

LoadModule php5_module libexec/apache2/libphp5.so

1
এটি আমার জন্য এটি করেছে!
ম্যাথিউ রিগলার

1

যুক্তি ছাড়াই 'sudo apachectl' চালনা করা কনফ ফাইলগুলিতে সমস্যাটি দেখায়। আমার ক্ষেত্রে আপগ্রেডিং পিএইচপি এটি স্থির করেছিল।

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

এর পরে, অ্যাপাচি আবার দৌড়ালো কিন্তু আমাকে ভোস্টগুলি পুনরায় কনফিগার করতে হয়েছিল।


0

উপরের প্রশ্নের উত্তর দেওয়া হলেও একই ত্রুটির আরও একটি সম্ভাবনা রয়েছে যেমন:

/private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_XYZ.so into server: dlopen(/usr/libexec/apache2/mod_XYZ.so, 10): image not found

এটি ঘটতে পারে যদি আপনি একটি প্রতীকী লিঙ্ক তৈরি করেছেন যা উপরের নামে উল্লেখ করা হচ্ছে এবং এটি খুঁজে পাওয়া যায় নি। প্রকৃত ফাইলের জন্য নিখুঁত পথ এবং সিমলিংক ফাইলের নাম সরবরাহ করা হচ্ছে এমন প্রতীকী লিঙ্ক তৈরি করার সমাধান করার জন্য।

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