Swa*_*der 3 php mysql mysqli pdo
我在MacOSX Lion上进行了自定义安装,包括以下内容:
在/ etc /中编辑php.ini以激活以下内容:
extension=php_mysqli.so
extension=php_pdo_pgsql.so
extension=php_pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)phpinfo()说如下:
PDO
PDO支持启用PDO驱动程序mysql,pgsql,sqlite
PDO_MYSQL
PDO驱动程序启用的MySQL客户端API版本mysqlnd 5.0.10 - 20111026 - $编号: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玩得很好?
解决方案是执行以下操作:
这样做似乎没有加载php.ini更改
$ sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)
并且需要Macbook重新启动才能将它们考虑在内.