البرمجة

تكامل SQLSRV مع PHP 5.6.16 في WampServer: حلول لمشكلة عدم ظهور sqlsrv في phpinfo

بعد فحص العديد من المنشورات حول هذه المشكلة، يبدو أنني لا أستوعب سبب عدم عملها، حيث يجب أن تكون تعمل. سأقوم بنشر جميع المعلومات التي حصلت عليها حتى الآن.

فيما يلي تفاصيل البيئة الخاصة بي:

  • نظام التشغيل: Windows 10 64 بت.
  • خادم WampServer 3 بنية 64 بت (http://www.wampserver.com/).
  • PHP 5.6.16.
  • Apache 2.4.17.
  • Microsoft SQL Server 2016.

قمت بتنزيل ملف SQLSRV32.exe من موقع Microsoft وقمت بفك الضغط عن ملفات DLL إلى المسار C:\wamp\bin\php\php5.6.16\ext.

في ملف php.ini الذي قدمه لي WampServer، أقمت بتحديد المسار الخاص بالامتدادات وربط الملفات التالية:

  • extension_dir = "c:/wamp/bin/php/php5.6.16/ext/"
  • extension=php_sqlsrv_56_ts.dll
  • extension=php_pdo_sqlsrv_56_ts.dll

أيضاً، لدي ملف php5ts.dll في مجلد php5.6.16، لذا أعتقد أنني استخدم نسخة آمنة للموضوع، ولذلك أنا استخدم الإصدارات التي تحمل الامتداد ts.dll.

إذا كنت في دالة phpinfo()، يجب أن أرى قسمًا يسمى ‘sqlsrv’ هناك، ولكني لا أرى أي قسم من هذا القبيل، لذلك أعتقد أنني أخطأت في شيء ما هنا.

قمت بإعادة تشغيل WampServer عدة مرات وتشغيله كمسؤول. لكنه لا يظهر في phpinfo()… ولكن يمكنني رؤية ذلك في امتدادات php في Wampserver: https://i.stack.imgur.com/Rf2bk.png.

هل لديك أفكار حول ما قد فعلته بشكل خاطئ أو لماذا لا يظهر في phpinfo()؟

المزيد من المعلومات

قد يكون هناك عدة أسباب لعدم ظهور امتداد SQLSRV في قائمة phpinfo(). دعوني استكمل باستعراض بعض النقاط التي قد تكون مساعدة:

  1. الإصدار المناسب لـ SQLSRV:

    • تأكد من أن الإصدار الذي قمت بتنزيله من Microsoft متوافق مع إصدار PHP الذي تستخدمه (PHP 5.6.16). ربما تحتاج إلى تنزيل إصدار صحيح يتناسب مع PHP 5.6.
  2. فحص أخطاء PHP:

    • قم بفحص ملف السجلات الخاص بـ PHP للبحث عن أي أخطاء محتملة. يمكنك العثور على موقع ملف السجلات في ملف php.ini الخاص بـ PHP.
  3. التحقق من الاعتماديات:

    • تأكد من أن لديك جميع الاعتماديات اللازمة لتشغيل SQLSRV، بما في ذلك تثبيت Microsoft ODBC Driver for SQL Server.
  4. تحديث WampServer:

    • قم بالتحقق من وجود تحديثات لـ WampServer وتثبيتها إذا كانت متاحة. قد تحتوي التحديثات على إصلاحات لمشاكل معينة.
  5. التحقق من تنسيق الملفات:

    • تأكد من أن ملفات DLL قد تم نسخها بشكل صحيح إلى المسار المحدد في php.ini وأنها ليست تالفة.
  6. تعطيل مكافح الفيروسات:

    • قد يؤدي بعض برامج مكافحة الفيروسات إلى حجب تحميل ملفات DLL. جرب تعطيل برنامج مكافحة الفيروسات مؤقتًا وراقب التأثير.
  7. استخدام نسخة غير ملتزمة:

    • جرب استخدام نسخة غير ملتزمة من امتداد SQLSRV وتأكد من أنها تتناسب مع إصدار PHP الخاص بك.

باستكمال هذه الخطوات ومراجعة التفاصيل، قد تتمكن من تحديد المشكلة وإيجاد حلاً لظهور امتداد SQLSRV في phpinfo().

زر الذهاب إلى الأعلى