การรันสคริปต์ php ผ่านโหมดบรรทัดคำสั่งจะมีคำเตือน


1

เมื่อใดก็ตามที่ฉันรันสคริปต์บรรทัดคำสั่ง php ของฉันก่อนที่สคริปต์จะส่งออกไปยังหน้าจอจริง php จะส่งกลับข้อความแสดงข้อผิดพลาดเป็นจำนวนมากดังนี้:

PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/gd.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mbstring.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so' - (null) in Unknown on line 0
PHP Warning:  Module 'memcache' already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mysql.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mysqli.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so' - (null) in Unknown on line 0
PHP Warning:  Module 'syck' already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/zip.so' - (null) in Unknown on line 0
PHP Warning:  Module 'xdebug' already loaded in Unknown on line 0

อย่างไรก็ตามคำเตือนดูเหมือนจะไม่หยุดสคริปต์ของฉันทำงานอย่างถูกต้อง (แม้ว่ามันจะบอกว่าบางไลบรารีไม่สามารถโหลดได้ แต่ฉันยังคงสามารถใช้งานได้ในสคริปต์ของฉัน) ฉันกำลังใช้งาน php5.2 ติดตั้งผ่านทาง macports สำหรับ Leopard 10.5.7

hidetoshi:bin jeffrey04$ port installed php5
The following ports are currently installed:
  php5 @5.2.9_0+apache2+macosx+mysql5+pear+postgresql83
  php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83 (active)
  php5 @5.3.0_1+apache2+macosx+mysql5+pear+postgresql83
  php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83

และฉันเปลี่ยนเป็น php5.2 ผ่านเชลล์สคริปต์ง่าย ๆ นี้

port deactivate php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83
port activate php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83

port deactivate php5-syck @0.55_2
port activate php5-syck @0.55_1

port deactivate php5-memcache @2.2.5_1
port activate php5-memcache @2.2.5_0

port deactivate php5-xdebug @2.0.5_0
port activate php5-xdebug @2.0.4_0

/opt/local/apache2/bin/apachectl restart

ฉันกำลังทำอะไรผิดหรือเปล่า? มีวิธีใดที่จะลบคำเตือนที่ส่งคืนระหว่างการเริ่มต้น php หรือไม่


ห้องสมุดเหล่านี้เป็นที่ที่พวกเขาคาดหวังหรือไม่?
สุ่ม

คำตอบ:


1

ฉันเคยเห็นคำถามที่คล้ายกันที่ไหนสักแห่ง; ขอแนะนำให้ทำการปิดการใช้งานทั้งหมดก่อนจากนั้นจึงเปิดใช้งานทั้งหมดในกรณีที่บางโมดูลขึ้นอยู่กับโมดูลอื่น ดังนั้นเปลี่ยนสคริปต์เป็น:

port deactivate php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83
port deactivate php5-syck @0.55_2
port deactivate php5-memcache @2.2.5_1
port deactivate php5-xdebug @2.0.5_0

port activate php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83
port activate php5-syck @0.55_1
port activate php5-memcache @2.2.5_0
port activate php5-xdebug @2.0.4_0

/opt/local/apache2/bin/apachectl restart

0

คุณอาจต้องการตรวจสอบไฟล์ php.ini ที่จะใช้เนื่องจากภายใต้ระบบยูนิกซ์บางระบบ php มีไฟล์ php.ini แยกต่างหากสำหรับ mod_php และอินเตอร์เฟส cli

หากเป็นกรณีนี้ - คุณควรตรวจสอบการตั้งค่าในไฟล์ cli php.ini


0

ความคิดอื่น - ปิดใช้งานส่วนขยาย php ทั้งหมดเพื่อยกเลิกการเปิดใช้งาน php เปิดใช้งาน php จากนั้นเปิดใช้งานส่วนขยาย

ในกรณีที่มีการอ้างอิงอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.