পিএইচপি সতর্কতা: পিএইচপি স্টার্টআপ: ডায়নামিক লাইব্রেরি লোড করতে অক্ষম


101

আমি একটি পিএইচপি স্ক্রিপ্ট চালাচ্ছি এবং এই ত্রুটিটি পেয়েছি:

পিএইচপি সতর্কতা: পিএইচপি স্টার্টআপ: ডায়নামিক লাইব্রেরি '/usr/local/lib/php/extensions/no-debug-non-zts-20090626/ixed.5.2.lin' - / usr / স্থানীয় / lib / php / এক্সটেনশনগুলি লোড করতে অক্ষম /no-debug-non-zts-20090626/ixed.5.2.lin: ভাগ করা অবজেক্ট ফাইল খুলতে পারে না: লাইনে 0 তে অজানা তেমন কোনও ফাইল বা ডিরেক্টরি নেই

ওটার মানে কি?

উত্তর:


57

এর অর্থ আপনার পিএইচপি কনফিগারেশন ফাইলের মধ্যে একটি extension=...বা zend_extension=...লাইন রয়েছে (php.ini, বা এর অন্য কোনওটি) যা এই এক্সটেনশনটি লোড করার চেষ্টা করছে:ixed.5.2.lin

দুর্ভাগ্যক্রমে ফাইল বা পাথের অস্তিত্ব নেই বা অনুমতিগুলি ভুল।

  1. .iniপিএইচপি দ্বারা লোড হওয়া ফাইলগুলি অনুসন্ধান করার চেষ্টা করুন ( phpinfo()কোনটি হ'ল তা বোঝাতে পারে) - তাদের মধ্যে একটির সেই এক্সটেনশন লোড করার চেষ্টা করা উচিত।
  2. হয় ফাইলের পথটি সংশোধন করুন বা সংশ্লিষ্ট লাইনে মন্তব্য করুন।

6
সুতরাং আমি এই ত্রুটিটিও পাচ্ছি, তবে আমার সাইটটি এখনও কাজ করে - আশ্চর্যজনক অংশটি। এই ধরণের ত্রুটির জন্য, আমি ধরে নিই যে পিএইচপি শুরু থেকেই ক্রাশ হবে। পরিবর্তে আমি আমার পৃষ্ঠাটি পাই, তবে আমার লগার এই ত্রুটিটি লগ করছে। অদ্ভুত হাহ?
বিটি

4
Php.ini (আমার ক্ষেত্রে /etc/php.ini ) আমি লাইন এক্সটেনশন = php_pdo_mysql.dll মন্তব্য করেছি এবং অ্যাপাচি পুনরায় চালু করেছি যা আমার সমস্যার সমাধান করেছে এবং সতর্কতা থেকে মুক্তি পেয়েছে। (ম্যাক, ম্যাভেরিক)
ওলা

নয়তো সেই পথটি সংশোধন করুন আমরা কোন পথে কথা বলছি?
prats1411

3. বা অনুপস্থিত প্রত্যাশিত এক্সটেনশনটি ইনস্টল করুন
অ্যান্ড্রু

Ini ফাইলটিতে @ prats1411: এক্সটেনশন = [এখানে পথ]
অ্যান্ড্রু ২

38

আপনি যদি লিনাক্সে থাকেন তবে শেলটি টাইপ করে আপনি সমস্ত লোড করা কনফিগারেশন ফাইলগুলি সন্ধান করতে পারেন:

php -r "print phpinfo();" | grep ".ini"

আপডেট: মন্তব্যগুলিতে উল্লিখিত হিসাবে, এটি আরও নির্ভুল হতে পারে:

php -i | grep ini

4
php -i | grep iniখুব ভাল কাজ করা উচিত (যখন আপনার পক্ষে কমান্ড আর্গুমেন্ট রয়েছে তখন phpinfo প্রিন্ট করার দরকার নেই)
ইয়োরিক এইচ

4
আমার অনুরূপ ত্রুটি ছিল তবে phpinfo()কোনও সমস্যাযুক্ত আইএনআই ফাইল তালিকাভুক্ত হয়নি। ইওরিকেরphp -i | grep ini পরামর্শ অনুসারে আমার পক্ষে কাজ করেছে। এটি সিএলআই-এর জন্য লোড করা লাইব্রেরিগুলি তালিকাভুক্ত করবে এবং এটি হিসাবে দেখা যায় যে ini ফাইলটি হ'ল সতর্কতাটি আমার ক্ষেত্রে CLI ডিরেক্টরিতে ছিল under
ড্যানিয়েল

8
php --iniসমস্ত
আইএনআই

17

আপনি শুধু ভুল করতে চান, অদৃশ্য, এবং সব উপায়ে লাইন মন্তব্য আপনি এক্সটেনশানটি প্রয়োজন হবে না, তারপর php.ini। তবে আপনি যদি সমস্যার সমাধান করতে চান তবে এখানে কিছু অতিরিক্ত তথ্য info

সঠিক মডিউলটির ভিত্তিতে এর জন্য বিভিন্ন কারণ রয়েছে তবে কয়েকটি সাধারণ নির্দেশিকাও রয়েছে।

  1. বিভাগের অধীনে খুলুন phpinfo()এবং সন্ধান করুন । আপনার মডিউলগুলি এখানে অবস্থিত হওয়া উচিত।extension_dirCore

উদাহরণস্বরূপ, /usr/lib/php/modulesইউনিক্স / লিনাক্সের জন্য।

  1. যদি ফাইলটি বাস্তবে বিদ্যমান থাকে তবে নিশ্চিত হয়ে নিন যে অনুমতিগুলি পর্যাপ্ত।
  2. যদি ফাইলটি বিদ্যমান না থাকে তবে এটি ইনস্টল করতে নীচের সংস্থানগুলি ব্যবহার করুন।

উইন্ডোজে এক্সটেনশানগুলির ইনস্টল * নিক্স (পিয়ার) এ
ইনস্টলেশন


আমি এই নাশপাতি মডিউলটি দিয়ে ইনস্টল করার চেষ্টা করছি তবে আমি যখন চালাব তখন perl install <module>আমি পেয়েছিCan't open perl script "install": File or Directory not found
ফ্যাবিটক

সমস্যাটি জানা খুব কঠিন, আপনার পথ এবং অনুমতি পরীক্ষা করুন।
চিরদিনের

যদি docker-php-ext-install <package>
কোনও ধারকটিতে

এটি আমাকে php.ini এ অনুসন্ধান করতে সহায়তা করেছিল এবং তারপরে দেখুন যে ফোল্ডারটি খালি ছিল।
ফ্র্যাঙ্কফুর্ট-লারাভেল

15

এক্সএএমপিপি সহ পিএইচপিস্টম

টিএল; ডিআর ফাইলগুলির উপস্থিতি যাচাই করা বাদ দিয়ে আপনার পিএইচপি.আইএনআই ফাইলের কিছু রেকর্ডে ড্রাইভ লেটার যুক্ত করতে হতে পারে

Xampp এবং xdebug এর সাথে পিএইচপি ডিবাগ করার জন্য phpStorm 7 ব্যবহার করে হঠাৎ আমার সমস্যা হতে শুরু করে। ইন্টেলিজ ইন্টারপারটারকে এক্সএএমপিএস পিএইচপি হিসাবে স্থাপন করার চেষ্টা করার সময় আমি প্রশ্নের মধ্যে যেমন একটি সতর্কতা পেয়েছি, উদাহরণস্বরূপ:

ডায়নামিক লাইব্রেরি '/xampp/php/ext/php_bz2.dll' লোড করতে অক্ষম

কোনও কারণে আমাকে আমার ড্রাইভ লেটারটি php.ini ফাইলের এক্সটেনশন_ডির এবং ব্রাউজক্যাপের রেকর্ডে যুক্ত করতে হয়েছিল:

extension_dir = "\xampp\php\ext"
browscap = "\xampp\php\extras\browscap.ini"

প্রতি

extension_dir = "e:\xampp\php\ext"
browscap = "e:\xampp\php\extras\browscap.ini"

4
এটি আমার জন্য উইন্ডোজ 10
জাস্টিন এল্ড্রাচার

4
এটি আমার জন্য উইন্ডোজ fixed এ ঠিক করেছে a অনেক ধন্যবাদ
পরমজিৎ

6

php -r "echo php_ini_loaded_file();"

সিএলআই বর্তমান আইএনআই লোড করা ফাইলটিতে প্রদর্শিত হবে, আপনার এক্সটেনশনের জন্য সেখানে অনুসন্ধান করুন, এর পথটি ভুল is


4

লিনাক্সে .dll লোড হচ্ছে

আমি php.ini ফাইলের মাধ্যমে পিএইচপি-এক্সটেনশন ইনস্টল করার চেষ্টা করার সময় আমি এই সতর্কতা বার্তার মুখোমুখি হয়েছি ;

যতক্ষণ না বুঝেছি যে আপনি লিনাক্সে .dll এক্সটেনশন লোড করতে পারবেন না ,

তবে আপনাকে যে এক্সটেনশানগুলি আপনি আমদানি করতে চান এবং এর মাধ্যমে এটি সঠিকভাবে ইনস্টল করতে চান তার মন্তব্য করতে হবে;extension= ... .dllsudo apt-get install php-...

দ্রষ্টব্য : ...আপনি সক্ষম করতে চান এমন এক্সটেনশন নাম।


হুবহু, আমার কাছে এটি কেবল মডিউল ইনস্টলেশনটি অনুপস্থিত ছিল - আমি পিএইচপিপিজিএডমিন ইনস্টল করছিলাম এবং আমার স্পষ্টভাবে যা ইনস্টল করতে হবে তা ছিল sudo apt install php-pgsqlএবং পিএইচপি-সংস্করণ-নির্দিষ্ট sudo apt install php7.1-pgsql(আপনার পিএইচপি সংস্করণে 7.1 পরিবর্তন করুন)
jave.web

3

মনে রাখবেন যে আপনার পিএইচপি লাইব্রেরিতে "অন্য" ডিরেক্টরি খোলার অনুমতি না থাকলে আপনিও এই ত্রুটিটি পেতে পারেন। আমার বিশেষ ক্ষেত্রে, আমি php -lআমার টেক্সট এডিটরটিতে একটি স্ক্রিপ্ট পরীক্ষা করে সিনট্যাক্স ব্যবহার করার সময় এটি লক্ষ্য করেছি । এর অর্থ হ'ল যেহেতু আমার অ্যাকাউন্টটিকে "ভলমাইক" বলা হয়েছিল, সুতরাং সেই অ্যাকাউন্টের যে লাইব্রেরি phpকমান্ডের উপর নির্ভর ছিল তা চালানোর অনুমতি ছিল না ।

উদাহরণস্বরূপ, উবুন্টু 14.04 এ, আমি পিএইচপি 5 স্বয়ংক্রিয়ভাবে পথে ইনস্টল করেছি /usr/lib/php5/20121212+lfs। তবে, যেহেতু আমি কিছু ভাগ করে নেওয়া বস্তু তৈরিতে সি ++ এ কাজ করছিলাম, তাই আমি ডিরেক্টরি অনুমতিগুলি নিয়ে এলোমেলো করে দিয়েছি এবং এমনগুলি তৈরি করেছি যাতে নন-রুট অ্যাকাউন্টগুলির ডিরেক্টরিতে এক্সিকিউট (ডিরেক্টরি খোলা) দেখার অনুমতি নেই /usr/lib/php5/20121212+lfs। সুতরাং, আমি সেই সমস্যাটি সংশোধন করতে নিম্নলিখিত কমান্ডটি টাইপ করেছি:

sudo chmod o+x /usr/lib/php5/20121212+lfs

এখন যখন আমি php -l example.phpঅ-রুট ব্যবহারকারী হিসাবে করি , এটি কখনই আমাকে এই "গতিশীল লাইব্রেরি লোড করতে অক্ষম" দেয় না।


উবুন্টু 16.10 ব্যবহার করে এটি আমার জন্য সঠিক সমাধান ছিল। লিনাক্স ব্যবহার করার সময় আপনি এক্সটেনশনের "এক্সটেনশন" পরিবর্তন করেছেন কিনা তা নিশ্চিত করুন (মানক কনফিগারেশন আমাকে .dll
দিচ্ছিল

আমি লিনাক্স পুদিনা 18 ব্যবহার করছি এবং এটি এখনও বৈধ
ডিকা

2

আমি যখন সুরকার ইনস্টল করার চেষ্টা করি তখন উইন্ডোজের জন্য এক্সএএমপিপি-তে আমার একই সমস্যা ছিল। আমি php -vএবং পিএইচপি নিক্ষেপ ত্রুটি:

ডায়নামিক লাইব্রেরি '/xampp/php/ext/php_bz2.dll' লোড করতে অক্ষম

আমি বুঝতে পেরেছি যে আমার এক্সএএমপিপি স্থাপনের প্রয়োজন আমার কাছে কিছুটা সময় লেগেছে। তাই আমি দৌড়ে এসে setup_xampp.batপিএইচপি ফিরে আসি মনোযোগের মতো কাজে।


2

উইন্ডোজ 10-এর জন্য এক্সএএমপিপি-তে আমার একই সমস্যা ছিল যখন আমি সুরকার ইনস্টল করার চেষ্টা করি।

ডায়নামিক লাইব্রেরি '/xampp/php/ext/php_bz2.dll' লোড করতে অক্ষম

তারপরে এই পদক্ষেপগুলি অনুসরণ করুন

  1. কেবলমাত্র আপনার বর্তমান_এক্সএএমএইপএমপি_সামান্য_ড্রাইভ খুলুন: ted এক্স্যাম্প (ডিফল্ট_এক্স্যাম্প_ফোল্ডার) ted পিএইচপি \ পিএইচপি.ini টেক্সটেডিটরে (নোটপ্যাড ++ এর মতো)
  2. এখনই সন্ধান করুন - বর্তমান_এক্স্যাম্প_সামত_ড্রাইভ: rive এক্সএএমপ্পের অস্তিত্ব আছে?
  3. যদি না হয় তবে "এক্সটেনশন_ডির" সন্ধান করুন এবং ড্রাইভের নাম (সি, ডি বা আপনার পছন্দসই ড্রাইভ) পছন্দ করুন।

এক্সটেনশন_ডির = "এফ: am xampp731 \ পিএইচপি \ এক্স" (এখানে সন্ধান করা_ড্রাইভ_নাম_ফর্ম_থেকে ফাইল এফ হয়)

  1. আবার সন্ধান করা_ড্রাইভ_নাম_ফর্ম_সামান্য ফাইলের সাথে প্রতিস্থাপন করুন: current এক্সএএমপ্প কারেন্ট_এক্সএএমপি_কন্টেনিং_ড্রাইভ সহ: \ এক্সএএমপি এবং সংরক্ষণ করুন।
  2. এখন আবার সুরকার ইনস্টলেশন ইনস্টলেশন শুরু করুন, আমি মনে করি আপনার সমস্যার সমাধান হবে।

1

আমি যখন আমার সার্ভারে পাশাপাশি পিএইচপি-র বিভিন্ন সংস্করণ চালিয়ে যাচ্ছিলাম তখন বেশ কয়েকটি মডিউলটিতে আমার এই ত্রুটি ছিল। এটিকে বাছাই করার জন্য, আমার সেই প্যাকেজগুলি ইনস্টল করা দরকার যা এটি নির্দিষ্ট পিএইচপি সংস্করণটির জন্য খুঁজে পায় না। সুতরাং, উদাহরণস্বরূপ, যদি আমি দেখেছি: -

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/xml.so'

আমি বিশেষত পিএইচপি সংস্করণের জন্য গ্রন্থাগারটি ইনস্টল করব: -

sudo apt-get install php7.1-xml

এবং তারপরে অ্যাপাচি পুনরায় চালু করুন। এটা আমার জন্য স্থির। আপনি আপনার সংস্করণটি এটির মতো চেক করতে পারেন: -

php -v

1

এরপরে Windows 10 XAMPPআমি LAMPP (XAMPP)উবুন্টু ইনস্টল করেছি । Windows XAMPPম্যাক (আইওএস) এর সাথে তুলনা করার জন্য কনফিগার করার অনেক কম ছিল তবে লিনাক্স উবুন্টুর সাথে আমার আরও কিছু ছিল কারণ লিনাক্সে আরও বেশি কিছু চলছে (একটি ভাল জিনিস)।

আমি বিভ্রান্ত হয়েছি এবং সক্রিয় mysqli.dll(এবং mysql.dll: "#" এ মুছে ফেলি)/etc/php/7.2/cli/php.ini

আমি PHP Warning: PHP Startup: Unable to load dynamic libraryসম্পর্কিত বার্তা পেতে শুরু dll। আমি mysql(and i).dllএকই ফাইলটিতে মন্তব্য করেছি তবে আমি মন্তব্য না করা পর্যন্ত বার্তাটি সরে যায় না /opt/lampp/etc/php.ini

XAMPP মত দেখায় সার্চ php.iniথেকে ফাইল /etc/php/7.2/cliএবং পরিমার্জন তোলে php.iniএর /opt/lampp/etc। (; এক্সটেনশন = php_pdo_mysql.dll "" পরে ";" অ্যাপাচি পুনরায় চালু করুন এবং কোনও বার্তা নেই।


1

আমার ক্ষেত্রে আমি এই ত্রুটিটি পেয়েছি কারণ আমি dll এর থ্রেড-নিরাপদ সংস্করণ ডাউনলোড করেছি (এর সাথে ইনপিক্সড -ts-), তবে আমার পিএইচপি এর পিএইচপি ইনস্টলেশনটি একটি নন-থ্রেড-সেফ ছিল (এর সাথে সংশোধিত -nts-)। ডেল এর সঠিক সংস্করণটি ডাউনলোড করা, আমার পিএইচপি ইনস্টলেশন সংস্করণটির সাথে ঠিক মিলে যাওয়া সমস্যার সমাধান করেছে।


4
সার্ভার থ্রেড-নিরাপদ কনফিগারেশনে চেক করতে phpinfo () এবং thread-safetyসক্ষম / অক্ষম দেখুন। বিপরীতে একই ত্রুটি ছিল, টিএসএসের জন্য কনফিগার করার সময় এনটিএস ডাউনলোড হয়েছিল।
অ্যান্ডি

0

আমি একই ধরণের ত্রুটির মুখোমুখি হয়েছি। আমি যে ভুলটি করেছিলাম তা ছিল আমার ইউআরএলে "পৃষ্ঠাগুলির" পরিবর্তে "পৃষ্ঠাগুলি" হিসাবে "নিয়ামক" নামটি ব্যবহার করা।


0

উইন্ডোজে এটি "সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলস" এর একটি ভুল পথ হতে পারে। Php.exe ডিরেক্টরিতে "পাথ" ভাল হতে হবে।


0

আপনার পিএইচপি সংস্করণটির জন্য সঠিক এক্সটেনশানটি এখানে দেখুন


4
কেন এসকিউএল সার্ভারের জন্য পিএইচপি জন্য মাইক্রোসফ্ট ড্রাইভারদের? এই প্রশ্নটি এটাই নয়!
সিএসবিনহো

0

আমি যা করেছি তা ছিল;

1 - আমি পিএইচপি এর কোন সংস্করণটি phpinfo () ফাংশনটির মাধ্যমে ব্যবহার করছি তা আমি প্রথম খুঁজে বের করি

<?php   
    phpinfo();
?>

2 - সেখান থেকে আপনি আপনার কনফিগারেশন (php.ini) ফাইলের অবস্থান খুঁজে পাবেন

পদ্ধতি phpinfo () ফলাফল

3 - ফাইলটি খুলুন

4 - নীচের চিত্রের মতো লাইনটি মন্তব্য করুন

এটি আলাদা মান হতে পারে তবে এটি এক্সটেনশনের সাথে সম্পর্কিত হওয়া উচিত। আমি কোনও বিশেষজ্ঞ নই তবে এই প্রক্রিয়াটি আমাকে অনুরূপ সমস্যার সমাধান করতে সহায়তা করেছে।

এখানে চিত্র বর্ণনা লিখুন


0

'সি: / পিএইচপি / ৫.২.১৩/২০১৩ p পিএইচপি_এমক্রিপট ১.ডিএল'

আমি বলব যে আপনার পিএইচপি.এন.আই.আই.এতে কিছু টাইপো রয়েছে (অতিরিক্ত 1)। সম্ভবত আপনি যা আশা করছেন তার থেকে আলাদা কোনও php.ini লোড করছেন (এটি নিশ্চিত করার জন্য php.ini এর আউটপুট দেখুন)।

এটি ছাড়াও নিশ্চিত করুন যে php_mcrypt.dll এবং PHP:

একই ভিসি রানটাইম লাইব্রেরির সাথে সংযুক্ত ছিল (সাধারণত ভিসি 6 এর জন্য এমএসভিসিআরটি.ডিল বা ভিসি 9-র জন্য এমএসভিসিআরটি 90.ডিএল) - উদাহরণস্বরূপ ব্যবহার করুন নির্ভরতা ওয়াকার উভয় ডিবাগ বিল্ড বা উভয় রিলিজ বিল্ড উভয়ই জেডটিএস সক্ষম বা জেডটিএস অক্ষম লাইব্রেরির জন্য আরও লাইব্রেরি (ডিএলএল), নিশ্চিত করুন যে তারা উপলব্ধ রয়েছে (যেমন এক্সটেনশানের একই ডিরেক্টরিতে) পিএইচপি আপনাকে ত্রুটিগুলি বোঝায় যদি উপরের প্রথম তিনটি শর্তের কোনওটি সন্তুষ্ট না হয় তবে আমি সেগুলি লিখেছি কারণ আমি নিশ্চিত নই পিএইচপি 5.2 এর জন্য।


0

আমার ক্ষেত্রে, এই বার্তাটি উপস্থিত হতে শুরু করে যখন আমি পিএইচপি সংস্করণটি 7.4 তে আপডেট করি।

এটি সমাধান করার জন্য আমাকে পিএইচপি সংস্করণ ফোল্ডারের (/etc/php/7.4/apache2/ && /etc/php/7.4/cli/) ভিতরে থাকা php.ini ফাইলগুলি সন্ধান করতে হবে যেখানে আমি যে এক্সটেনশনগুলি দেখতে পাচ্ছিলাম এক্সটেনশনগুলি জিডি 2 এবং ইন্টেলটি নিরবিচ্ছিন্ন ছিল।


0

সি থেকে: \ xampp \ php \ php.exe আমি পেয়েছি

  • ডায়নামিক লাইব্রেরি '' লোড করতে অক্ষম
  • সি: \ xampp \ php \ ext \ php_.dll (নির্দিষ্ট মডিউলটি পাওয়া যায়নি))

আমি
সি: am xampp \ php \ php.ini ; এক্সটেনশন = মন্তব্য করে সমাধান করেছি


-1

আমার অনুরূপ সমস্যা ছিল এবং সমস্ত সতর্কতা / ত্রুটিগুলির মধ্যে কয়েকটি হল নমুনা।

Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: C:\php\ext\curl 
(The specified module could not be found.), C:\php\ext\php_curl.dll (The specified 
module 
could not be found.)) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'fileinfo' (tried: 
C:\php\ext\fileinfo (The specified module could not be found.), 
C:\php\ext\php_fileinfo.dll (The specified module could not be found.)) in Unknown on 
line 0

আপনি যদি সতর্কতাগুলি পরীক্ষা করে দেখুন, আপনি দেখতে পাবেন যে এটি পিএইচপি এক্সটেনশনগুলির সন্ধান করছে C:\php\ext\তাই, আমি পিএইচপি C:\ডিরেক্টরিতে ডাউনলোড করেছি এবং এটি সমস্যার সমাধান করেছে।

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