PHP不加载扩展

我已经运行了PHP 5.3.6的本地服务器,以及在Ubuntu 11.03上运行的Apache 2.2.19。 我从源代码构buildApache和PHP。 PHP与Apache正常工作,但似乎永远不会加载任何扩展。 我已经取消了我想要PHP加载的那些,我已经检查过PHP正在读取INI文件,我已经取消了extension_dir指令的注释并确保它是正确的。

mysqli.somysql.so这些文件似乎不见了,还有很多其他的文件。 这是我第一次从源代码安装PHP。 我知道PHP 5.3.6不包含MySQL客户端库。

我也检查了PHP存储库,并不再维护。 我可以使用PDO,但我更喜欢使用MySQL类。

我的问题是:我从哪里得到这些文件? 我已经检查了MySQL网站,并没有真正帮助我。 PHP似乎只是加载已经内置到PHP的扩展。

MySQL扩展分为几个包:

 $ apt-cache search mysql |grep php 

这是我在debian上(它通过apt-get安装后自动工作):

 plaes@machine:~$ dpkg -L php5-mysql /. /etc /etc/php5 /etc/php5/conf.d /etc/php5/conf.d/pdo_mysql.ini /etc/php5/conf.d/mysqli.ini /etc/php5/conf.d/mysql.ini /usr /usr/share /usr/share/doc /usr/lib /usr/lib/php5 /usr/lib/php5/20090626 /usr/lib/php5/20090626/mysqli.so /usr/lib/php5/20090626/pdo_mysql.so /usr/lib/php5/20090626/mysql.so /usr/share/doc/php5-mysql 

缺less扩展名.so文件

php.ini中列出和注释的扩展名仅仅是示例。 他们不是“交付”/默认情况下与PHP安装。 此外,除非将扩展程序构build为“共享”扩展程序,否则不存在mysql.so文件。

如果您自己编译PHP,则需要激活configuration中的扩展。 运行./configure --help来获取选项。

如果使用configure脚本更改configuration,则需要重新进行configuration(make && make install)。

configuration:错误:在/ usr / share / mysql下找不到MySQL头文件。

安装libmysqlclient-dev包或者使用mysqlnd:– --with-mysql=mysqlnd (mysqli和pdo-mysqlconfiguration参数一样)

使用dpkg -L libmysqlclient-dev查找位置并传递它,或者在configuration参数中保留空path。

自己编译

你自己似乎不太了解编写代码,所以问题是如果你真的需要它。

问问你自己为什么你自己编译它的问题。

检查它的重量与从Ubuntu下使用股票包时的问题:

  • 你需要安装所有的devel软件包
  • 升级必须手动完成,包pipe理器不会为你做