我想在 Mac OS X Lion 上安装 Symfony。显然,由于我的电脑上已经安装了 MAMP,php.ini 文件中的“时区”字段存在问题。我不记得具体是什么错误,但基本上,Symfony 安装需要一个时区,如“Europe/Paris”,但 MAMP 显然更改了该部分。
嗯,这很模糊,但我在网上看到其他人也遇到了同样的问题。所以我尝试了我找到的一个解决方案(没有成功),但是:
- 它不起作用。
- 我无法
php
再使用该命令(“-bash:php:未找到命令”)。我不记得我执行了哪些命令来返回。
以下是我在历史记录中发现的一些可能相关的命令,它们与我的问题的开始相对应,按以下顺序排列:
sudo mv /usr/bin/php /usr/bin/php-old
sudo ln -s /Applications/MAMP/bin/php5/bin/php /usr/bin/php
rm /usr/bin/php-old
sudo cp php.ini.default /etc/php.ini
rm php.ini but I don't know anymor in which repertory I was.
sudo mv /usr/bin/php-old /usr/bin/php
答案1
你做了什么?
通过执行
sudo rm /usr/bin/php-old
你可能在重命名后删除了原来的 PHP 安装。如果你只是执行了命令没有 sudo
,您可能无法删除它,因为该文件的所有者是root
,而不是您的普通用户。
尝试:
sudo mv /usr/bin/php-old /usr/bin/php
并检查输入是否php -v
有效。如果是,则一切正常。如果不行,则您的系统php
已损坏。尝试从备份中恢复。
如何php
从备份恢复:
如果您有 Time Machine,请按以下步骤操作:
首先,记下 Time Machine 卷的名称。然后获取计算机的名称,并找出启动卷的名称。这些卷被标记为1,2和3如以下屏幕截图所示,Time Machine 卷被命名为时光机器在我的电脑上(这叫做卡戎)启动卷名为麦金塔高清。
现在,在终端中输入:
cd "/Volumes/TimeMachine/Backups.backupdb/charon/Latest/Macintosh HD/usr/bin/"
将粗体名称替换为上面得到的名称。如果成功,则在仍位于同一终端文件夹中时,运行:
sudo cp php /usr/bin/php
这会将php
Time Machine 卷复制回本地硬盘。您已完成。输入后检查php -v
一切是否正常。
如果您以某种方式备份或覆盖了最新的备份,您也可以从最旧的备份中恢复。
输入以下内容,像之前一样替换名称:
cd "/Volumes/TimeMachine/Backups.backupdb/charon"
然后:
cd $(ls -r1 | tail -n 1)
这将转到您最早的备份。现在输入(别忘了替换卷的名称):
cd "Macintosh HD/usr/bin"
并复制回来php
,类似于上面的命令:
sudo cp php /usr/bin/php
如果你想改变php.ini
通常情况下,MAMP 不会使用/etc/php.ini
,而是使用php.ini
放置在 MAMP 应用程序文件夹内的自己的文件。因此,如果您想修改 MAMP 行为,则必须更改它。
如果你想使用 MAMPphp
注意:这是可选的。
如果您确实想使用 MAMPphp
而不是系统文件,请执行以下操作(除非您有一个名为的文件.profile
,否则请使用此文件):
open -e ~/.bash_profile
TextEdit 将打开,您将编辑 bash 配置文件,该配置文件设置重要的环境变量。在这里,添加以下行:
export PATH=/Applications/MAMP/bin/php5/bin/:$PATH
然后,保存文件,退出,并在终端中运行命令:
source ~/.bash_profile
现在,运行which php
,它应该指向 MAMP 文件夹。 的输出php -v
现在也应该来自 MAMP 的php
。