我在 MacOSX Lion 上有一个自定义安装,包括以下内容:
- 原生 PHP 升级到 5.4,就像一个魅力。
- 安装的 MySQL,从 /usr/local/mysql-5.5.25-osx10.6-x86_64/bin/mysql 运行,就像一个魅力,Workbench 连接并可以执行操作。
编辑 /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 和我的 MySQL 玩得更好?