我在MacOSX Lion上进行了自定义安装,包括以下内容:
>原生PHP升级到5.4,就像一个魅力.
>安装的MysqL,从/usr/local/MysqL-5.5.25-osx10.6-x86_64/bin/MysqL运行,就像一个魅力,Workbench连接,可以做ops.
>在/ etc /中编辑PHP.ini以激活以下内容:
extension=PHP_MysqLi.so
extension=PHP_pdo_pgsql.so
extension=PHP_pdo_MysqL.so
> PHPinfo()说如下:
PDO
PDO支持已启用
PDO驱动程序MysqL,pgsql,sqlite
PDO_MysqL
启用了MysqL的PDO驱动程序
客户端API版本MysqLnd 5.0.10 – 20111026 – $Id:b0b3b15c693b7f6aeb3aa66b646fee339f175e39 $
指令本地价值主值
pdo_MysqL.default_socket /var/MysqL/MysqL.sock /var/MysqL/MysqL.sock
这意味着它有效,是吗?
但有两个问题:
>没有/var/MysqL/MysqL.sock这样的文件,它位于/tmp/MysqL.sock中.但我使用PDO选项配置和构建PHP: – with-MysqL = MysqLnd –with-MysqLi = MysqLnd –without-pear –with-pdo-MysqL = MysqLnd –with-MysqL-sock = / var /MysqL/MysqL.sock.如果我将ini设置更改为/tmp/MysqL.sock没有效果,它会反映在PHP.ini中,但错误保持完全相同.
>当我尝试在PHP中实例化PDO类时,会发生这种情况:
未捕获的异常’PDOException’,消息’找不到驱动程序’
当我尝试以旧式的MysqLi方式从PHP访问MysqL时,我得到了这个:
无法连接到MysqL:(2002)没有这样的文件或目录警告:main():无法获取MysqLi …
解决方法:
解决方案是执行以下操作:
>在PHP.ini中更改.sock路径以反映实际路径
>重新启动计算机,而不仅仅是apache
这样做似乎没有加载PHP.ini更改
$sudo apachectl restart
并且需要Macbook重新启动才能将它们考虑在内.