Сборка PHP для MacOS

328
Eray

Я использовал XAMPP и решил удалить его и использовать встроенные в MacOS модули apache и php. Но при удалении XAMPP я случайно удалил файлы / usr / bin / php и другие файлы PHP-CLI. И я решил установить новейшую версию PHP (5.5.12) вместо пересоздания текущей версии (5.4.24). Скачал и распаковал. После этого выполните эту команду, как указано в этом руководстве .

./configure '--with-apxs2=/usr/sbin/apxs' '--enable-cli' '--with-config-file-path=/etc' '--with-zlib=/usr' '--enable-bcmath' '--with-bz2=/usr' '--enable-calendar' '--disable-cgi' '--with-curl=/usr' '--enable-dba' '--enable-ndbm=/usr' '--enable-exif' '--enable-fpm' '--enable-ftp' '--with-gd' '--enable-gd-native-ttf' '--enable-mbregex' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pear' '--with-pdo-mysql=mysqlnd' '--with-mysql-sock=/var/mysql/mysql.sock' '--with-tidy' '--enable-wddx' '--with-xmlrpc' '--enable-zip' make make install 

Когда я проверяю phpinfo (), это все еще версия 5.4.24. Эта строка из моего httpd.conf

LoadModule php5_module libexec/apache2/libphp5.so

/usr/libexec/apache2/libphp5.so из старой версии, и я не смог найти libphp5.so для новой версии. В модулях dir нет файла libphp5.so.

Как я могу использовать новую сборку PHP с Apache?

ОБНОВИТЬ

Результаты команды php -v .

PHP 5.5.12 (cli) (built: May 27 2014 05:17:21) Copyright (c) 1997-2014 The PHP GroupZend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies 
0

3 ответа на вопрос

1
symlink

В качестве альтернативы использованию PHP для Mac, я рекомендую homebrew . В отличие от XAMPP вам не нужно работать в ограничительной оболочке, поэтому вы можете обновлять PHP и другие модули (PHPMyAdmin, Apache и т. Д.) До последних версий.

Поскольку вы не возитесь с испорченными деликатными системными папками Mac, вам не придется беспокоиться об адской зависимости либо о случайном удалении файлов и папок. Homebrew не позволит вам обновить что-либо, не обновляя его иждивенцев, и все содержится в его собственных хранилищах, называемых подвалами.

0
Eray

Just deleted libphp5.so and tried reinstall, now it seems working. I'm not sure why install command is not overwriting.

0
wrksprfct

Я бы избежал хлопот, пытаясь создать новую версию Apache, которая соответствует поставляемой Apple версии. Версия, которую вы создадите, скорее всего, будет отличаться от версии Apple. Apple обычно вносит незначительные изменения в программное обеспечение с открытым исходным кодом, поставляемое с MacOS, которое они в конечном итоге публикуют на http://opensource.apple.com/ . Так что собрать его в соответствии с версией Apple не невозможно, просто раздражает.

Кроме того, вообще говоря, вы должны оставить вещи POSIX, которые поставляет Apple, в покое. Они имеют тенденцию переписывать / изменять вещи с помощью системных обновлений. (Вот почему я сторонник отдельного стека / среды разработки через MacPorts, виртуальную машину и т. Д.)

Вместо этого я бы порекомендовал попытаться восстановить версию, которую вы удалили . Есть несколько маршрутов:

  • Восстановите отсутствующие / разные файлы из последней резервной копии системы (Time Machine и т. Д.).
  • Извлеките исходные файлы из последних пакетов установки ОС, используя такой инструмент, как Pacifist . Загрузите последнюю версию ОС в App Store. Или спросите друга с той же версией ОС (которая, очевидно, не изменила свои файлы).
  • Переустановите ОС, чтобы вернуть измененные файлы в исходное состояние. Это более ядерный из вариантов, очевидно, и имеет свои собственные риски (испортить другие вещи), хотя Apple, как правило, очень хорошо делает его безопасным.

С первыми двумя опциями вы извлечете исходные файлы / каталоги, которые вы удалили, в новый каталог, а затем в diffвашу текущую систему. Затем cpфайлы / каталоги возвращаются на место как root через sudo. (Подсказка: используйте, historyчтобы понять, что вы делаете rm.)

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