Я использовал 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

3 ответа3

1

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

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

0

Просто удалил libphp5.so и попробовал переустановить, теперь похоже работает. Я не уверен, почему команда установки не перезаписывается.

0

Я бы избежал хлопот, пытаясь создать новую версию 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 «d.)

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