Обновление до macOS Sierra нарушает конфигурацию PHP / MYSQL

Поэтому я недавно обновился до macOS Sierra (бета-версия), и это сломало мою конфигурацию PHP / MySQL … не удивительно, но … странно, что некоторые быстрые команды терминала показывают, что PHP и MySQL работают и работают! Например … PHP:

myusername@myworkstation  /private/etc/apache2/other  php -v
PHP 5.6.24 (cli) (built: Aug  9 2016 16:05:05)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

Итак, я решил запустить

apachectl configtest

И в этом заключается проблема:

httpd: Syntax error on line 537 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+entropy-php.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _environ\n  Referenced from: /usr/local/php5/libphp5.so\n  Expected in: /usr/sbin/httpd\n

Так что проблема в том, что ОС не может найти или не может загрузить PHP … есть идеи, как решить эту проблему? Похоже, неправильный путь, но интересно, если что-то изменилось на стороне ОС, что вызвало это? Не так много в пропускной способности ОС Сьерра по этой проблеме. Надеемся связаться с другими разработчиками, которые столкнулись с этой проблемой в последнее время, или с кем-то, кто мог бы лучше понять, как снова начать работу.

Заранее благодарю за любую помощь, а тем временем я продолжу свои попытки исправления в надежде, что это может быть быстро решено.

2

Решение

У меня была похожая проблема. Похоже, sierra перезаписывает файлы конфигурации. Я получил работу php, раскомментировав строку php loadmodule в httpd.conf. Мои веб-сайты снова работают, но, похоже, все мои виртуальные ресурсы исчезли. Я воссоздаю конфиги и добавляю к этому, если это помогло.

3

Другие решения

Я заметил это сегодня, когда понял, что обновление macOS Sierra испортило мой локальный хост.

После некоторых копаний кажется, что файлы конфигурации были перезаписаны. Я обнаружил, что разработчики были достаточно хороши, чтобы сохранить ваши предыдущие конфигурационные файлы, которые у вас были на месте, в файле резервной копии, прежде чем они перезаписали конфигурации по умолчанию в / etc / apache2 /.

Для вашего исходного httpd.conf перед обновлением найдите файл с именем «httpd.conf ~ pre-update»

Внутри / etc / apache2 / extra / для всех ваших исходных файлов найдите файлы с символом «~ previous» в конце имени.

Файлы .bak теперь являются резервными копиями новых конфигураций MacOS Sierra apache (так что я думаю, что если у вас были резервные копии с .bak, они также были перезаписаны, но не на 100% уверены).

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

4

У меня была эта проблема в течение нескольких дней. Я снова заработал php, раскомментировав строку LoadModule php5_module libexec / apache2 / libphp5.so в httpd.conf. Надеюсь, это поможет.

0

Есть много файлов конфигурации, которые были заменены, поэтому вам нужно просмотреть их все и сбросить всю конфигурацию. Хорошие парни из Apple действительно помогли, сохранив каждый параметр конфигурации, по крайней мере, где-то на вашем диске!

Затем вы обнаружите, что ваш MySQL не работает, он изменил версии и базы данных уже не там, где вы их оставили. Но не паникуйте простой загрузкой в ​​опции восстановления, скопируйте базы данных из предыдущего местоположения (если вы можете их найти) в новое местоположение (если у вас есть идеи, где это находится) — это все, что требуется. Но тогда вам также может понадобиться найти my.cnf — он исчез! Я не смог найти старый, а новый не говорит мне, куда ушел старый.

Но не меняйте расположение баз данных — они должны находиться в этой папке «данных». Любая попытка его перемещения приведет к тому, что призрачные видения ваших данных появятся на экранах по всему офису.

Наконец мы вернулись к php и расширениям. Да, пропала пара, у меня были mcrypt и memcache, но не паникуйте, вы можете найти копии в скрытом каталоге «extensions», но обнаружение этой папки потребует от вас решения ряда стратегических игр. — удачи.

Кстати, если вы читаете это до того, как найдете папку «extensions», это не имеет большого значения, потому что эти расширения не работают с установленной версией php, поэтому не имеет значения, если вы не можете их найти. , Просто скачайте исходный код, скомпилируйте, сделайте, сделайте установку, сделайте это дважды, возможно, три раза, и это все равно не сработает.

Я надеюсь, что это действительно помогло кому-то — я уверен, что рад, что все это решено сейчас.

И вы не думаете, что кто-то должен взять на себя ответственность за это?

Если бы я остался на Эль-Капитане!

-1
По вопросам рекламы [email protected]