ฉันแก้ไขปัญหานี้ใน Debian 6. โดยปกติฉันเพิ่งติดตั้งphp5-common
แพ็คเกจ หลังจากการติดตั้งคุณต้องรีสตาร์ทเว็บเซิร์ฟเวอร์ของคุณ (apache หรือ nginx ขึ้นอยู่กับว่าคุณติดตั้งเว็บไหน) จากนั้นฉันเพิ่งทำlsof
ในกระบวนการ apache id ( lsof -p process_id
) ดังต่อไปนี้:
sudo lsof -p 1399 #replace 1399 by your apache process id
apache2 1399 root mem REG 254,2 80352 227236 /usr/lib/php5/20090626/xmlrpc.so
apache2 1399 root mem REG 254,2 166496 227235 /usr/lib/php5/20090626/suhosin.so
apache2 1399 root mem REG 254,2 31120 227233 /usr/lib/php5/20090626/pdo_mysql.so
apache2 1399 root mem REG 254,2 100776 227216 /usr/lib/php5/20090626/pdo.so
apache2 1399 root mem REG 254,2 135864 227232 /usr/lib/php5/20090626/mysqli.so
ขณะที่คุณสามารถดูด้านบนโมดูลที่มีการติดตั้งอยู่บนเส้นทางของไฟล์ไม่เป็นที่รู้จักหรือได้รับคำแนะนำจากเส้นทางห้องสมุดทั่วไป: usr/lib/php5/20090626/
/ สำหรับการติดตั้งของคุณอาจแตกต่างกัน แต่เฉพาะเส้นทางของ pdo_mysql.so, pdo.so, mysqli.so ดังนั้นนี่คือเหตุผลที่ Drupal หรือโปรแกรม php อื่น ๆ ไม่สามารถหาไลบรารีและแสดงข้อผิดพลาดนั้น:PDOException: could not find driver
ผมก็ไม่ทราบว่าทำไมมันมีการติดตั้งดังกล่าวเป็นเส้นทางที่แปลกสำหรับฉันมันเป็นเพียงข้อผิดพลาดในสคริปต์การติดตั้งแพคเกจห้องสมุดในเดเบียน 6. ฉันจะแก้ไขปัญหาโดยการสร้างสัญลักษณ์สำหรับทุกไฟล์ที่อยู่ภายใต้/usr/lib/php5/20090626/
การ
/usr/lib/php5/
กับคำสั่งนี้:
ln -s /usr/lib/php5/20090626/* /usr/lib/php5/
php.ini' file and uncomment
ส่วนขยายของคุณ=. The path to your
ไฟล์ php_pdo_mysql.dll ไฟล์ php.ini` โดยดูจาก phpinfo ของคุณ ()