في الظروف العادية، يمكن عرض صفحة phpinfo(). لنبدأ بالمشكلات التي تظهر بعد التمكن من عرض هذه الصفحة.
سيتم عرض مشكلات PHP على صفحة phpinfo()
أولاً، تحقق مما إذا كان مسار php.ini الخاص بك صحيحًا.
س: لقد قمت بتكوين php.ini الملف، ولكن بعد إعادة تشغيل الخادم لماذا لا يعمل أي شيء؟
ج: تتضمن هذه المشكلة بشكل أساسي المواقف التالية.
السبب الأول هو أن ملف php.ini الذي يقرأه النظام غير متوافق مع ملف php.ini الذي قمت بتعديله في ذلك الوقت 1. يمكنك التحقق من قراءة خادم PHP الحالي من خلال خيار مسار ملف التكوين (php.ini). phpinfo() ما هو php.ini
2. إذا كنت تريد تغيير موقع الوصول إلى ملف php.ini، فيمكنك الرجوع إلى ترتيب البحث في php.ini، كما هو موضح أدناه:
أ) الموقع المحدد بواسطة وحدة SAPI (توجيه PHPiNir في Apache 2، وخيار سطر الأوامر -c في CGI وCLI، ومعلمة php_ini في NSAPI، ومتغير البيئة PHP_INI_PATH في THTTPD)
ب) HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath (موقع تسجيل Windows)
ج) متغير بيئة PHPRC د) دليل العمل الحالي (لـ CLI)
هـ) دليل خادم الويب (لوحدة SAPI) أو الدليل الذي يوجد به PHP (حالات أخرى ضمن Windows)
و) دليل Windows (C:windows أو C:winnt)، أو الموقع المحدد بواسطة خيار وقت الترجمة --with-config-file-path 3. النهج العام: عن طريق تعيين متغير بيئة PHPRC،
أ) العملية: انقر بزر الماوس الأيمن فوق جهاز الكمبيوتر->خصائص->متقدم->متغيرات البيئة ب) قم بإنشاء متغير بيئة جديد ضمن متغيرات النظام مع "اسم المتغير هو PHPRC وقيمة المتغير هي مسار الملف لملف php.ini الخاص بك" "
السبب الثاني هو: لم يعثر PHP على مكتبة الامتدادات المقابلة 1. تحقق من موقع مكتبة الامتدادات التي عثر عليها PHP: يمكنك رؤيتها في خيار Extension_dir الخاص بـ phpinfo() 2. قم بتغيير ملف Extension_dir في
php.ini السبب الثالث: لا يوجد إعادة تشغيل كاملة لـ IIS
1. يجب إعادة تشغيل التعديلات على php.ini بالكامل لتصبح سارية المفعول، وليس فقط الموقع الحالي.
2. أدخل cmd، أوقف الخادم: net stop iisadmin؛ ابدأ الخادم: net start w3svc
س: لماذا لا يمكنني تفعيل مكتبة ملحقات MySql في PHP الخاص بي؟
ج: في PHP5.0 والإصدارات الأحدث، لا يتم تمكين MySQL افتراضيًا، لذا نحتاج إلى تنشيطه يدويًا.
1. لتشغيل MySql في PHP، يجب عليك تنشيط مكتبة الارتباط الديناميكي php_mysql.dll في php.ini بالإضافة إلى ذلك، تحتاج إلى الوصول إلى مكتبة ارتباط عميل MySQL، أي ملف libmysql.dll 2. يمكنك التنشيط مكتبة الارتباط الديناميكي php_mysql.dll من خلال الامتداد الموجود في مكتبة الاتصال php.ini؛ ويجب وضع ملف libmysql.dll في مسار نظام Windows PATH للوصول إليه. يمكنك نسخ libmysql.dll إلى دليل system32 مسار جديد لمتغير البيئة PATH.
3. الطريقة الموصى بها: قم بتعيين PATH لتسهيل ترقيات PHP المستقبلية، ما عليك سوى إضافة المجلد الذي يوجد به "libmysql.dll" بعد PATH في متغير بيئة النظام. تذكر أن تفصل بينهما بـ "؛" 4. [الحالة] في الآونة الأخيرة، لم يتمكن الخادم من العثور على مكتبة امتداد MySql، مما تسبب في فشل تشغيل البرنامج. لذلك، احذف جميع الملفات وأعد تكوين خادم PHP. لكن في النهاية، عندما قمت بتثبيت MySql، لم أتمكن من تنشيط مكتبة امتدادات MySql.
المعلومات الموجودة في phpinfo() هي كما يلي:
المسار:ج:php
PHPRC:C:php
Extension_dir:c:phpext
بالإضافة إلى ذلك، قمت باختبار تفعيل مكتبات أخرى، مثل msql، gd2، xml، ويمكن عرضها بشكل طبيعي في phpinfo()، مما يثبت أن PHP يمكنها العثور على مكتبة الارتباط الديناميكي php_mysql.dll، وشرط آخر لتشغيل MySql هو لتتمكن من الاستعلام عن عميل MySQL، مكتبة الاتصال الطرفية هي ملف libmysql.dll، ويبدو أن المشكلة تكمن هنا.
لقد بحثت عن ملف libmysql.dll على محرك الأقراص C ووجدت أن هناك ملفًا في مجلدات system32 وphp. بعد عمل نسخة احتياطية، حاولت حذف ملف libmysql.dll في system32 ووجدت أنه مقفل ويمكنه. لا يمكن حذفه، ولكن يمكن إعادة تسميته لقد غيرت الاسم عرضًا وأعدت تشغيل IIS، وعمل الخادم بشكل طبيعي.
نقطة إضافية واحدة: إذا تم عرض مسار ملف التكوين (php.ini) على أنه C:Windows
، فهذا يعني أنه لم تتم قراءة ملف php.ini.
بالإضافة إلى ذلك، وجدت أنه عند استخدام IIS لدمج php، هناك طريقتان: وضع ISAPI وCGI.
في كلا الطريقتين، يمكننا رؤية صفحة phpinfo
ولكن باستخدام وضع ISAPI، لا يمكن قراءة متغيرات البيئة، لذلك متغير البيئة PHPRC. لا يمكن العثور على مسار php.ini.
ما عليك سوى استخدام CGI، حتى لا تضطر إلى نسخ العديد من الملفات إلى ملف النظام.