我目前正在学习 Yii 框架,昨天运行的教程之一要求我测试项目的数据库连接。
这里的细节并不是太重要,但基本上当我运行 shell 并输入命令时,它会抛出如下错误:
server:trackstar charlieryan$ protected/yiic shell
Yii交互工具v1.1(基于Yii v1.1.13) 请输入“帮助”寻求帮助。输入“exit”退出。
echo Yii::app()->db->connectionString; PHP 警告:PDO::__construct(): [2002] /Applications/MAMP/htdocs/trackstar/yii/framework/ 中没有这样的文件或目录(尝试通过 unix:///var/mysql/mysql.sock 连接) db/CDbConnection.php 第 423 行 异常“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 版本?
当我执行“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 目录的正确路径,因此您需要验证并使用正确的路径。