تثبيت PHP / cURL على نظام التشغيل Windows:"تعذر العثور على الوحدة النمطية المحددة."

StackOverflow https://stackoverflow.com/questions/12348

  •  08-06-2019
  •  | 
  •  

سؤال

أقوم بتشغيل PHP 5.2.3 على Windows 2000 Server مع IIS 5.أحاول عمل حليقة ، لذا في بلدي php.ini الملف، لدي هذا السطر:

تمديد_دير = "F:\PHP\ext"

وبعدين عندي:

ملحق=php_curl.dll

الملف F:\PHP\ext\php_curl.dll موجود ، لكن عندما أحاول تشغيل أي برنامج نصي PHP ، أحصل على هذا في سجل الأخطاء:

تحذير PHP:بدء تشغيل PHP:غير قادر على تحميل المكتبة الديناميكية 'f: php ext php_curl.dll' - لا يمكن العثور على الوحدة النمطية المحددة.في غير معروف على السطر 0

هل كانت مفيدة؟

المحلول

تم حل المشكلة!

على الرغم من أن رسالة الخطأ قالت تعذر العثور على الوحدة النمطية المحددة, ، هذا مضلل بعض الشيء - ليس الأمر أنه لم يتمكن من العثور عليه php_curl.dll, ، ولكن بدلاً من ذلك لم يتمكن من العثور على وحدة نمطية php_curl.dll مطلوب.مكتبتا DLL اللتان يتطلبهما هما libeay32.dll و SSLeay32.dll.

لذا، يجب عليك وضع مكتبتي DLL هذين في مكان ما في المسار الخاص بك (على سبيل المثال، C:\Windows\system32).هذا كل ما في الامر.

ومع ذلك، حتى هذا لم ينجح بالنسبة لي في البداية.لذلك قمت بتنزيل ملف Windows ZIP لأحدث إصدار من PHP، والذي يتضمن جميع ملفات DLL الضرورية.لم أقم بإعادة تثبيت PHP، لقد قمت فقط بنسخ كافة ملفات DLL الموجودة في المجلد "ext" إلى مجلد ملحقات PHP الخاص بي (كما هو محدد في extension_dir متغير في php.ini)، وقمت بنسخ إصدارات libeay32.dll و SSLeay32.dll من تنزيل PHP إلى دليل System32 الخاص بي.

لقد قمت أيضًا بإجراء iisreset، لكن لا أعرف إذا كان ذلك ضروريًا.

نصائح أخرى

libeay32.dll و ssleay32.dll يجب أن تكون في متناول المسار ل php_curl.dll للعمل بشكل صحيح.

في لوحة التحكم -> يبحث -> إعدادات النظام المتقدمة واستخدم الزر متغيرات البيئة.

تحت متغيرات النظام يجد طريق أضف ال c:/php المجلد (أو أي مسار) وأعد تشغيل Apache.

نصيحة هي استخدام مثبت WAMP.كل شيء يعمل فقط.إنه ليس IIS - لذا إذا كان الأمر مهمًا - فيجب عليك تجاهل نصيحتي.;)

يحرر:لقد رأيت أنك وجدت الحل لذلك قمت بالتصويت عليه.+1

ما زلت أواجه نفس المشكلة على الرغم من أنني قمت بالاقتراح أعلاه واقترح العديد من الآخرين على الإنترنت

آسف ، ولكن هذا البرنامج المساعد يتطلب تنشيط libcurl على الخادم الخاص بك.

عندما أحاول تفعيل البرنامج المساعد الخاص بي.

تم التعديل:كنت أستخدم php 5.3.13 وكان يعمل بنظام التشغيل win64 windows 7 ولم يكن أي من البرامج يعمل معي.

1. لقد حاولت نسخ libeay32.dll ssleay32.dll في مجلد Windows System32 لم يعمل 2.لم تنجح كل من ملفات php.ini التي تم تحريرها ولم تعمل 3.لم يعمل php_curl المنشط في امتدادات PHP 4.نسخ واستبدال عدة مرات www.anindya.com إصدار php_curl.dll ولكن يبدو أنني كنت أقوم بتنزيل الإصدار الخاطئ من هذا.الإصدار الذي نجح بالنسبة لي كان في قسم ملحقات الضفيرة الثابتة الملف الثاني php_curl-5.3.13-VC9-x64

نأمل أن يساعد هذا أي شخص آخر

واجهت هذه المشكلة عندما قمت بترقية PHP في UwAmp إلى 7.2.*.كان الحل الوحيد الذي نجح بالنسبة لي هو تنزيل أحدث إصدار من Apache في ذلك الوقت (Apache/2.4.37 (Win32)) واستبدال الإصدار الذي يأتي مع UwAmp.يتضمن ذلك أيضًا تحرير نموذج httpd.conf لإنتاج ملف httpd_uwamp.conf.يحتاج UwAmp إلى هذا القالب لإنشاء ملف httpd.conf الفعلي عند بدء تشغيله.جميع الاقتراحات الأخرى المذكورة أعلاه لم تحل المشكلة بالنسبة لي للأسف.لاحظ أيضًا أنه اعتبارًا من OpenSSL 1.1، لم تعد libeay32.dll وssleay32.dll مطلوبة (راجع http://php.net/manual/en/curl.installation.php)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top