- Native PHP upgraded to 5.4, works like a charm.
- Installed MySQL, being run from /usr/local/mysql-5.5.25-osx10.6-x86_64/bin/mysql, works like a charm, Workbench connects and can do ops.
Edited php.ini in /etc/ to activate the following:
extension=php_mysqli.so extension=php_pdo_pgsql.so extension=php_pdo_mysql.so
phpinfo() says the following:
PDO
PDO support enabled PDO drivers mysql, pgsql, sqlite
pdo_mysql
PDO Driver for MySQL enabled Client API version mysqlnd 5.0.10 - 20111026 - $Id: b0b3b15c693b7f6aeb3aa66b646fee339f175e39 $
Directive Local Value Master Value 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类时,会发生以下情况:Uncaught exception 'PDOException' with message 'could not find driver'
当我以旧式mysqli方式从PHP访问MySQL时,会出现以下情况:
Failed to connect to MySQL: (2002) No such file or directory Warning: main(): Couldn't fetch mysqli in...
还有什么其他方法可以尝试让我的PHP和MySQL友好地协作?