我正在学习Yii框架,我昨天运行的一个教程要求我测试项目的数据库连接.
这里的细节不是很重要,但基本上当我运行shell时,输入命令它会抛出一个错误,如下所示:
server:trackstar charlieryan$protected/yiic shell
Yii Interactive Tool v1.1(基于Yii v1.1.13)
请输入“帮助”以获取帮助.输入“退出”退出.
echo Yii::app()->db->connectionString;
PHP Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/MysqL/MysqL.sock) in /Applications/MAMP/htdocs/trackstar/yii/framework/db/CDbConnection.PHP on line 423
exception ‘CDbException’ with message ‘CDbConnection Failed to open the DB connection: sqlSTATE[HY000] [2002] No such file or directory’ in /Applications/MAMP/htdocs/trackstar/yii/framework/db/CDbConnection.PHP:381
Stack trace:据我所知,这是因为正在使用Mac OS X自己的PHP版本,它不支持MysqL PDO驱动程序,但是MAMP自己的版本支持.
当我执行“which PHP”命令时,它返回“/usr/bin/PHP”,这是不正确的版本.如何将其更改为默认为MAMP版本?
解决方法:
When I do the “which PHP” command, it returns “/usr/bin/PHP”, which is the incorrect version. How do I change this to default to the MAMP version?
您需要将MAMP版本添加到路径中或使用完整路径调用它.我不确定MAMP的PHP二进制文件存在于哪里但是让我们说它在/ Applications / MAMP / bin中.因此,在这种情况下,您需要将该路径添加到.profile:
vi ~/.profile
# if there is a PATH=... line add the mamp path in front of all the others
PATH=/Applications/MAMP/bin:/existing/paths/if/any:$PATH
然后关闭终端或运行命令:
来源〜/ .profile
这将重新加载您的个人资料.现在,如果您使用哪个PHP,它应该首先找到MAMP版本.同样,我不知道这是MAMP bin目录的正确路径,因此您需要验证并使用正确的路径.