我正在使用带有php5-fpm的nginx,出于某种原因,我的php5-fpm一直在说“模块'PDO'已经加载到未知行0”,老实说我不明白为什么。扩展名没有加载到php.ini中,但它是从“--with-config-file-scan-dir”加载的,它加载了pdo.ini,当然加载了pdo.so
我的php配置如下
'./configure' '--prefix=/opt/php5' '--with-config-file-path=/etc/php5' '--with-config-file-scan-dir=/etc/php5/conf.d' '--with-curl' '--with-pear' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-xpm-dir' '--with-freetype-dir' '--with-t1lib' '--with-mcrypt' '--with-mhash' '--with-mysql' '--with-mysqli' '--with-pdo-mysql' '--with-openssl' '--with-xmlrpc' '--with-xsl' '--with-bz2' '--with-gettext' '--with-readline' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--disable-debug' '--enable-fpm' '--enable-cli' '--enable-inline-optimization' '--enable-exif' '--enable-wddx' '--enable-zip' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-mbstring' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--enable-shmop' '--enable-dba' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg'
我似乎无法找到适合我的解决方案。
我检查了我的phpinfo()
以查看PDO扩展是否已加载并且似乎已加载(即使我从pdo.ini中删除了加载pdo.so)但是当我尝试使用PDO时,我得到< / p>
致命错误:未找到“PDO”类
我还要指出,我也正在加载suhosin.so
,apc.so
和imagick.so
,没有任何问题。
已安装的软件包列表(php和mysql)希望这可以提供更多信息来帮助我解决这个问题。值得注意的是,我的配置在过去的6个月中一直没有成功。我使用VladGH安装脚本(https://github.com/vladgh/VladGh.com-LEMP)安装它,因为它只是我的开发环境。如果需要,我非常愿意完全重新安装我的服务器,但我宁愿想出这个。
dpkg --get-selections | grep php
libapache2-mod-php5 install
php5-cgi install
php5-cli install
php5-common install
php5-mysql install
php5-suhosin install
dpkg --get-selections | grep mysql
courier-authlib-mysql install
libdbd-mysql-perl install
libmysql++3 deinstall
libmysqlclient16 install
mysql-client-5.1 install
mysql-client-core-5.1 install
mysql-common install
mysql-server install
mysql-server-5.1 install
mysql-server-core-5.1 install
php5-mysql install
postfix-mysql install
在尝试了解如何解决此问题的众多解决方案后,我决定在我的机器上完成重新安装。
答案 0 :(得分:5)
From PHP 5.1,PDO是PHP Core发行版的一部分,因此作为扩展名加载的pdo.so
变得多余。
答案 1 :(得分:0)
就我而言,它有所帮助: apt-get install --reinstall php5-mysql