Я пытаюсь использовать Apache 2.4.7 с php5.5 в моем мини-Mac с Mac OS 10.8.5
Apache 2.4.7 установил следующие инструкции здесь
Запустить apachectl -v, показать
Server version: Apache/2.4.7 (Unix) Server built: Mar 4 2014 19:23:56
PHP5.5 установил следующие инструкции здесь
Запустить php -v, показать
PHP 5.5.8 (cli) (built: Jan 12 2014 18:50:29) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Я добавил в файле apache http.conf следующую строку
LoadModule php5_module /usr/local/php5/libphp5.so
Но это не работает, поскольку, когда я пытаюсь запустить сервер с помощью
sudo apachectl start
Он вызывает следующую ошибку
httpd: Syntax error on line 151 of /usr/local/apache-2.4.7/conf/httpd.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: unixd_config\n Referenced from: /usr/local/php5/libphp5.so Expected in: /usr/local/apache-2.4.7/bin/httpd in /usr/local/php5/libphp5.so
Как было предложено в учебниках, которые я связал, я изменил свой профиль bash с помощью
export PATH=~/bin:/usr/local/php5/bin:$PATH export MANPATH=/usr/local/apache/man:$MANPATH
Я несколько раз пытаюсь найти разные решения, и это насколько я понял.
Если кто-то может дать мне какие-то намеки, я был бы очень доволен, я в отчаянии …!
После нескольких часов и часов попробовать это и сделать это, мне удалось заставить его работать.
Я опишу, что я сделал, чтобы помочь другим людям сохранить эти часы!
Имейте в виду, что это решение работает для MAc OS X 10.8.5. Это может не сработать для вас!
Следующее – иметь apache 2.4.7 с php 5.5, работающим
Обновите и загрузите необходимые инструменты.
1.1 – XCode. Получите его от Apple Store бесплатно.
1.2 – Командная строка XCode. Перейдите в XCode, Preferences, Downloads и получите командную строку.
1.3 – Домашнее пиво. Используйте следующую команду:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Дополнительную информацию см. На веб-сайте .
Несколько проверок
2.1. Убедитесь, что не существует текущей аппаки или установки php. Для этого я удалил их и запустил файлы конфигурации, на всякий случай, с командами
find /usr -name "apache" find /usr -name "httpd" find /usr -name "php
2.2. Используйте врача-пиво, чтобы подтвердить, что никакие конфиги не раздражают настройку.
brew doctor
2.3. Убедитесь, что вы сделали это правильно, подтвердив, что следующие команды не работают
php -v apachectl -v httpd -v
Установить apache
3.1 – Использовать homebrew apache2 из djl .
brew tap djl/homebrew-apache2 brew install djl/apache2/apache24
3.2. Измените свой .bash_profile, чтобы сделать / usr / local / bin папку приоритета (поэтому система получает apache и php оттуда вместо другой папки, такой как / usr / sbin)
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
3.3 – Убедитесь, что apache работает. Для этого запустите службу и перейдите на localhost, где появится «Это работает». Затем закройте его, чтобы продолжить работу с php.
sudo apachectl start (Go to browser and open localhost) sudo apachectl stop
Установить php
4.1 Использовать php homebrew от josegonzalez
brew tap homebrew/dupes brew tap homebrew/versions brew tap josegonzalez/homebrew-php brew install php55
4.2 Если это не сработало из-за следующей ошибки:
cannot open /usr/share/httpd/build/config_vars.mk: No such file or directory at /usr/sbin/apxs line 217.
… создать символическую ссылку следующим образом:
cd /usr/share/ sudo ln -s /usr/local/Cellar/apache24/< apache version installed >/ httpd
… и снова выполнить установку.
<установленная версия Apache> будет зависеть от установленной версии. На момент написания этой статьи это 2.4.10
Расскажите Apache о своем новом другом.
5.1 Измените httpd.conf. Сначала откройте файл.
cd /usr/local/etc/apache2/ sudo nano httpd.conf
… затем добавьте php-модуль в раздел LoadModule (найдите LoadModule)
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
… и добавьте php-тип в mime_module. Найдите mime_module и в этом разделе найдите # Фильтры
… добавьте следующую строку под ними.
# process php type files using apache php module AddType application/x-httpd-php .php
который сообщает Apache, чтобы запустить файл через его php-процессор до отправки его клиенту.
… Сохранить и выйти.
ДОПОЛНИТЕЛЬНО, если вы хотите сохранить Сайты в папке пользователя вместо WebService.
6.1. Еще раз измените httpd.conf. Откройте файл.
cd /usr/local/etc/apache2/ sudo nano httpd.conf
И добавьте следующие строки в конец файла , заменив свое имя пользователя.
ServerName dev.local User <username> Group staff DocumentRoot "/Users/<username>/Sites" ErrorLog "/usr/local/var/log/apache-error.log" CustomLog "/usr/local/var/log/apache-access.log" common <Directory "/Users/<username>/Sites"> Options All AllowOverride All IndexOptions NameWidth=* Require all denied Require host localhost Require host 127.0.0.1 </Directory>
Закончи это!
7.1 Запуск службы apache
sudo apachectl start
7.2. Создайте файл php в корне вашей папки «Сайты» (если вы сделали шаг 6, создайте его в /Users//Sites/test.php)
7.3. Откройте его.
Go to Browser and localhost/test.php
Удачи.
Я думаю, вы испытываете ошибку the zend_parse_paramater
от apache2 при загрузке libphp5.so:
httpd: Syntax error on line 151 of /usr/local/apache-2.4.7/conf/httpd.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found:
взгляните на выход ./configure. если вы получите сообщение с надписью:
configure: предупреждение: поддерживаются версии bison для регенерации парсеров Zend / PHP: 1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 (найдено: нет).
попробуйте установить bison: sudo apt-get install bison
затем сделайте distclean then ./configure … затем make -i install
Это руководство отлично, за исключением шага 4.1, где вам нужно установить php следующим образом:
brew install php55 --homebrew-apxs
эта строка автоматически добавит «LoadModule php5_module …» в httpd.conf, поэтому, если кто-то сделал другие шаги выше, просто удалите php с помощью:
brew remove php55
а затем установите php с помощью строки:
brew install php55 --homebrew-apxs
и тогда больше нет проблем!