Apache 2.4 не загружает php5.5 с Mac OS 10.8

Я пытаюсь использовать 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.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. Несколько проверок

    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 
  3. Установить 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 
  4. Установить 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

  5. Расскажите 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-процессор до отправки его клиенту.

    … Сохранить и выйти.

  6. ДОПОЛНИТЕЛЬНО, если вы хотите сохранить Сайты в папке пользователя вместо 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. Закончи это!

    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 

и тогда больше нет проблем!