phpbrew没有连接到mysql

时间:2016-02-05 17:53:37

标签: php mysql

我已经设置了phpbrew,包括安装所有requirements并使用以下命令成功编译了php-5.6.11:

sudo phpbrew --debug install php-5.6.11 +default+mysql+pdo+debug +apxs2 -- --with-mysql-sock=/var/run/mysqld/mysqld.soc

我可以使用下面的phpbrewswitch脚本在php版本之间切换,我在this comment中找到了:

#!/usr/bin/env bash
VERSION=$1

SOFILE=/usr/lib/apache2/modules/libphp$VERSION.so
CONFFILE=/etc/apache2/mods-available/php5.load

source ~/.phpbrew/bashrc

if [ -f $SOFILE ]; then
    phpbrew switch $VERSION
    phpbrew list

    FILECONTENTS="LoadModule php5_module $SOFILE"
    echo $FILECONTENTS > $CONFFILE

    echo "Updated $CONFFILE"
    sudo service apache2 restart

else
    echo $VERSION "is not configured for apache"
    phpbrew list 
fi

这个脚本只是使用phpbrew来切换php版本并告诉apache使用.so文件来获取所请求的版本,然后重新启动apache。 (所有这些都在一个命令中,可以很容易地切换回来,然后再推出!)

但是,在本地php 5.6.11安装和phpbrew 5.6.11安装之间切换会导致mysql停止连接。 phpinfo在两个版本上运行良好并显示相关信息,仅供参考。我错过了什么? php.ini中有什么东西可以让mysql工作吗?这是一个我用phpbrew编译时缺少的参数吗?任何建议表示赞赏,我真的很想让这个工作。

2 个答案:

答案 0 :(得分:2)

我明白了。事实证明,我的php脚本中的mysql主机变量设置为“localhost”。明确地将其设置为“127.0.0.1”就可以了。不确定为什么localhost没有解决但是whatevs。有用! XD

答案 1 :(得分:2)

检查配置文件中的mysql套接字路径,它可能与其他版本的php不同。