我已经运行了PHP 5.3.6的本地服务器,以及在Ubuntu 11.03上运行的Apache 2.2.19。 我从源代码构buildApache和PHP。 PHP与Apache正常工作,但似乎永远不会加载任何扩展。 我已经取消了我想要PHP加载的那些,我已经检查过PHP正在读取INI文件,我已经取消了extension_dir指令的注释并确保它是正确的。
mysqli.so和mysql.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
在php.ini中列出和注释的扩展名仅仅是示例。 他们不是“交付”/默认情况下与PHP安装。 此外,除非将扩展程序构build为“共享”扩展程序,否则不存在mysql.so文件。
如果您自己编译PHP,则需要激活configuration中的扩展。 运行./configure --help来获取选项。
如果使用configure脚本更改configuration,则需要重新进行configuration(make && make install)。
安装libmysqlclient-dev包或者使用mysqlnd:– --with-mysql=mysqlnd (mysqli和pdo-mysqlconfiguration参数一样)
使用dpkg -L libmysqlclient-dev查找位置并传递它,或者在configuration参数中保留空path。
你自己似乎不太了解编写代码,所以问题是如果你真的需要它。
问问你自己为什么你自己编译它的问题。
检查它的重量与从Ubuntu下使用股票包时的问题: