1

Я хотел установить Symfony на Mac OS X Lion. Очевидно, поскольку MAMP уже был установлен на моем компьютере, возникла проблема с полем "timezone" в файле php.ini. Я не могу точно вспомнить ошибку, но в основном для установки Symfony требовался часовой пояс типа «Европа / Париж», но MAMP явно изменил эту часть.

Ну, это очень расплывчато, но я видел в сети, что у других людей была такая же проблема. Поэтому я попробовал одно из найденных решений (но безуспешно), но:

  1. Это не сработало.
  2. Я больше не могу использовать команду 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 ответ1

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 на моем компьютере называется TimeMachine (это называется charon), а загрузочный том называется Macintosh HD.

Теперь в терминале введите:

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.


Если вы хотите использовать php MAMP

Примечание: это необязательно.

Если вы действительно хотите использовать php MAMP поверх системного, сделайте следующее (если у вас нет файла с именем .profile , используйте его):

open -e ~/.bash_profile

Откроется TextEdit, и вы отредактируете свой профиль bash, который устанавливает важные переменные окружения. Здесь добавьте следующую строку:

export PATH=/Applications/MAMP/bin/php5/bin/:$PATH

Затем сохраните файл, выйдите и в терминале выполните команду:

source ~/.bash_profile

Теперь запустите which php , и он должен указывать на папку MAMP. Вывод php -v теперь также должен быть из php MAMP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .