在Mac上安装本机PHP / Mysql,激活PDO驱动程序

时间:2012-06-21 23:55:55

标签: php mysql pdo mysqli

我在MacOSX Lion上进行了自定义安装,包括以下内容:

  1. 原生PHP升级到5.4,就像魅力一样。
  2. 安装的MySQL,从/usr/local/mysql-5.5.25-osx10.6-x86_64/bin/mysql运行,就像一个魅力,Workbench连接并可以进行操作。
  3. 在/ etc /中编辑php.ini以激活以下内容:

    extension=php_mysqli.so
    extension=php_pdo_pgsql.so
    extension=php_pdo_mysql.so
    
  4. 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

  5. 这意味着它有效,是吗?

    但有两个问题:

    • 没有/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运行得更好吗?

1 个答案:

答案 0 :(得分:6)

解决方案是执行以下操作:

  1. 在php.ini中更改.sock路径以反映实际路径
  2. 重新启动计算机,而不仅仅是apache
  3. 执行

    时,似乎没有加载php.ini更改
    $ sudo apachectl restart
    

    并且需要Macbook重新启动才能将它们考虑在内。