我在Debian 6上解决了这个问题。通常,我刚刚安装了php5-common
软件包。安装后,您必须重新启动Web服务器(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
我只是不知道为什么将其安装在这样一个奇怪的路径上,对我来说,这只是debian 6中库软件包安装脚本中的一个错误。我通过使用以下命令/usr/lib/php5/20090626/
为to
下的所有文件创建符号来解决了这个问题/usr/lib/php5/
:
ln -s /usr/lib/php5/20090626/* /usr/lib/php5/
php.ini' file and uncomment
extension = php_pdo_mysql.dll. The path to your
php.ini文件,可以通过查看您的phpinfo()找到。