安装了MacPorts PHP,现在无法与MySQL接口 - Mac OS X.

时间:2011-03-18 15:12:27

标签: php mysql macos macports

我有与Mac OS X捆绑在一起的PHP标准版本,但我想升级到新版本,所以我使用了MacPorts,一切顺利。然后我编辑了我的.conf文件并进行了检查,现在我的PHP版本已更新到最新版本。

然而,在运行我正在处理的PHP项目时,现在看来我无法与使用与Mac OS X捆绑在一起的标准PHP安装的MySQL进行交互(注意:我最初安装了MySQL安装程序从他们的主页)。

我的问题是:有没有办法让MacPort PHP与旧的MySQL安装一起使用?

4 个答案:

答案 0 :(得分:2)

您是否安装了MacPorts的php5-mysql软件包?

MacPorts中PHP的默认安装相对较少,但有许多可用的附加模块。

答案 1 :(得分:1)

如Alnitak在评论中所述,MacPorts 1.9.2没有“mysql”变体。 不过,还有办法解决这个问题。

php5-mysql端口有一个+ mysql5变体,但有一种更好的方法可以解决问题。

这是一篇很棒的博文http://top-frog.com/2009/08/26/macports-php5-mysql-mysqlnd/ 它只表示php5-mysql安装后脚本所用的相同短语:

To use mysqlnd with a local MySQL server, edit /opt/local/etc/php5/php.ini and set mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket to /opt/local/var/run/mysql5/mysqld.sock

因此,如果您正在使用MacOS X Server本机MySQL服务器,那么通过运行ps ax | grep mysql可以轻松获得套接字。对我来说是/var/mysql/mysql.sock

您当然可以随时更改/etc/my.cnf

中的套接字

答案 2 :(得分:0)

在疯狂的时刻,我把它解决了。

使用MacPorts删除PHP,然后重新安装,但这次添加了+ mysql到安装。

一旦完成,使用MacPorts也安装了php5-mysql。然后它奏效了!

答案 3 :(得分:0)

我也遇到了与mysql和php5安装相同的问题。幸运的是,我能够通过遵循Vlads的建议来解决这个问题。以一种不同的方式。请注意,端口php5-mysql不是必需的

尝试/usr/bin/php -i|grep mysql|grep socket,结果

mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
mysqli.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
pdo_mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock

请注意,php指向错误的地方;它应该是/opt/local/var/run/mysql5/mysqld.sock

解决方案:创建符号链接以纠正路径

sudo mkdir /var/mysql
sudo ln -s   /opt/local/var/run/mysql5/mysqld.sock  /var/mysql/mysql.sock