我目前正在学习Yii框架,我昨天运行的一个教程要求我测试项目的数据库连接。
这里的细节并不太重要,但基本上当我运行shell时,输入命令会引发错误,如下所示:
server:trackstar charlieryan$ protected/yiic shell
Yii Interactive Tool v1.1(基于Yii v1.1.13) 请输入“帮助”以获取帮助。输入“退出”退出。
echo Yii :: app() - > db-> connectionString; PHP警告:PDO :: __ construct():[2002]在/ Applications / MAMP / htdocs / trackstar / yii / framework /中没有这样的文件或目录(尝试通过unix:///var/mysql/mysql.sock连接)第423行的db / CDbConnection.php 异常'CDbException',消息'CDbConnection无法打开数据库连接:SQLSTATE [HY000] [2002]在/Applications/MAMP/htdocs/trackstar/yii/framework/db/CDbConnection.php:381中没有这样的文件或目录 堆栈跟踪:
据我所知,这是因为正在使用Mac OS X自己的PHP版本,它不支持MySQL PDO驱动程序,但是MAMP自己的版本支持。
当我执行“which php”命令时,它返回“/ usr / bin / php”,这是不正确的版本。如何将其更改为默认为MAMP版本?
答案 0 :(得分:2)
当我执行“which php”命令时,它返回“/ usr / bin / php”,这是不正确的版本。如何将其更改为默认为MAMP版本?
您需要将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
然后关闭终端或运行命令:
source ~/.profile
这将重新加载您的个人资料。现在,如果你which php
,它应该首先找到MAMP版本。同样,我不知道这是MAMP bin目录的正确路径,因此您需要验证并使用正确的路径。