Как я указываю, какую установку Apache я хочу, чтобы мой Mac использовал?

Все мои проблемы, остановленные от попытки получить mcrypt для установленного PHP. Вчера вечером я сдал и следовал учебному руководству того, как сделать полностью новый apache2 и установку php5.3.3. Я сделал это использование macports

К сожалению, это не включило mcrypt для меня вчера вечером, хотя я был довольно рад, что я получил 5.3.3 выполнения :)

Проблема состоит в том, что я проснулся этим утром, чтобы найти, что моя php версия вернулась до 5.3.1, которые могут только означать, что OS X вернулся к моему исходному Apache и PHP.

Как я говорю OS X использовать программное обеспечение, которое я установил через macports?

(И затем я задам новый вопрос того, как включить mcrypt),

n.b. Я могу заставить установку macports загружаться путем остановки текущего веб-совместного использования в системе prefs затем это в терминале

 sudo /opt/local/apache2/bin/apachectl -k restart
1
задан 28.08.2010, 12:42

4 ответа

Это не такая Ваша версия Apache/PHP, вернулись - это - просто неверная версия, загружается.

Если Вам включат сеть Mac OS X, Совместно использующую, то она будет автоматический включать версию Apache, и Apple PHP обеспечивает использование LaunchDaemon org.apache.httpd.plist в /System/Library/LaunchDaemons (это переопределит версию MacPorts). Вы захотите отключить это или выключением веб-Совместного использования в Совместном использовании Предпочтительной Области или путем выполнения sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist.

При установке Apache для MacPorts, он установил LaunchDaemon в /Library/LaunchDaemons который, если включено запустит версию MacPorts Apache автоматически. Включить выполненный sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist и Вы прочь к гонкам.

Если Вы работаете apachectl для перезапуска - удостоверяются, что Вы выбрали правильную версию. Вы, возможно, должны изменить свой $PATH, чтобы иметь /opt/local/apache2/bin прежде /usr/sbin

Что касается того, какая версия PHP используется; на командной строке это будет зависеть от Вашего $PATH, в то время как для Apache это находится полностью в Вашей конфигурации того, где libphp5 модуль. (/etc/apache2/ для созданного в версии, /opt/local/apache2/conf для версии MacPorts установил),

Apple. SE

5
ответ дан 12.12.2019, 07:53

Как предложенный Ayaz, необходимо отредактировать plist. Надлежащий путь должен быть /System/Library/LaunchDaemons/org.apache.httpd.plist.

Удостоверяться, что Вы выполняете надлежащее apachectl, измените PATH переменная среды в Вашей оболочке запускает сценарий (например. ~/.bash_profile, ~/.zshrc или безотносительно) так, чтобы /opt/local/apache2/bin прибывает прежде /usr/sbin. В ударе синтаксис для предварительного ожидания macports апачского dir:

export PATH=/usr/local/apache2/bin:$PATH
2
ответ дан 12.12.2019, 07:53

Для решения проблемы Apache можно смотреть на /Library/LaunchDaemons/org.apache.httpd.plist и отредактируйте его для дегустации.

0
ответ дан 12.12.2019, 07:53

Хм... Вы знаете, что Персональная сеть Совместно использует Вас, может активироваться в Установках системы-> Совместное использование. Вы пытаетесь заставить тот флажок активировать Ваш сделанный на заказ из Apache вместо связанного?

Я не знаю, возможно ли это, но я не рекомендовал бы это. Это - лучшая идея просто деактивировать основную сборку и использовать Вашу пользовательскую отдельно.

Вы уже получили шаг 1, который должен выключить сервер по умолчанию в Установках системы. Чтобы заставить сделанное на заказ загружаться при начальной загрузке, исследуйте/Library/LaunchDaemons/org.apache.httpd.plist файл, который Вы упомянули. Посмотрите $man launchctl для большего количества информации о работе с этими файлами и также этой удобной части программного обеспечения под названием Lingon.

С теми инструментами (и возможно $ps-ax|grep httpd) необходимо смочь удостовериться, что рабочая сборка Apache является пользовательской установкой MacPorts.

Ох, это заставляет меня думать о чем-то еще: apachectl не является сервером, это - просто утилита, которую Вы используете для управления сервером, который является httpd. Возможно, MacPorts apachectl действительно ли запуск является связанным httpd? Или возможно MacPorts httpd использует связанный PHP...

Лично, мой подход к этому должен был бы просто изменить установленную апачскую сборку путем обновления PHP как требуется, но надо надеяться можно использовать часть этого, чтобы продолжить диагностировать.

0
ответ дан 12.12.2019, 07:53

Теги

Похожие вопросы