Невозможно запустить мой веб-сайт PHP Apache PHP-FPM локально на MacOS из-за странной ошибки ObjectiveC: objc[1495]: +[NApache

Ответить
Anonymous
 Невозможно запустить мой веб-сайт PHP Apache PHP-FPM локально на MacOS из-за странной ошибки ObjectiveC: objc[1495]: +[N

Сообщение Anonymous »

Эта проблема возникла недавно после обновления macOS, вероятно, Tahoe 26, но когда я пытаюсь запросить страницу моего веб-сайта, на котором используется Homebrew Apache PHP-FPM Memcached с файлами PostgreSQL и PHP 8.4 в OSX, я получаю следующую ошибку:

objc[1495]: +[NSPlaceholderString инициализация] могла выполняться в другом потоке при вызове fork(). Мы не можем безопасно вызвать или игнорировать его в дочернем процессе fork(). Вместо этого происходит сбой. Установите точку останова на objc_initializeAfterForkError для отладки.

Я думал, что подавил ошибку после того, как Google сказал, что это известная проблема, и сказал, что мне следует отредактировать мой /System/Library/LaunchDaemons/org.apache.httpd.plist, чтобы добавить ключ:

Код: Выделить всё

    OBJC_DISABLE_INITIALIZE_FORK_SAFETY
YES
Ниже я опубликую, как сейчас выглядит мой файл. Я думаю, его нужно добавить в раздел EnvironmentVariables.

Код: Выделить всё




Disabled

Label
org.apache.httpd
EnvironmentVariables

XPC_SERVICES_UNAVAILABLE
1
OBJC_DISABLE_INITIALIZE_FORK_SAFETY
YES

ProgramArguments

/usr/sbin/httpd-wrapper
-D
FOREGROUND

KeepAlive



Когда я добавил этот ключ в org.apache.httpd.plist, мой сайт сразу же снова начал работать. Я думал, что все в порядке, пока сегодня не перезапустился. Я снова получаю ту же ошибку ObjC в журнале ошибок /opt/homebrew/var/log/httpd/error_log apache homebrew каждый раз, когда мой сайт пытается подключиться к локальному серверу.
После отладки я обнаружил, что macOS добавил ключ Disabled -> True в верхней части списка. Вероятно, поэтому он не запускался. Зачем Apple это делать? И не только это. Целостность системы защищает этот файл? Мне пришлось перезагрузиться в режим восстановления (который на Apple Silicon отличается, удерживайте кнопку питания) и отключил целостность системы. Я перезагрузился, но они по-прежнему не позволяют вам редактировать этот файл. В vim и nano написано, что файловая система только для чтения, когда вы пытаетесь принудительно записать в нее. Я узнал, что мне нужно добавлять списки в /Library/LaunchDaemons, поэтому я скопировал отключенный список в /Library, отредактировал его как отключенный -> false и перезапустил доморощенный Apache и php-fpm.

Код: Выделить всё

brew services restart httpd
brew services restart php
Однако теперь я получаю еще более серьезную ошибку. Вот ошибка в журнале httpd:

[Вс, 30 ноября 23:27:17.849875 2025] [core:notice] [pid 2799] AH00052: дочерний pid 2857, выходной сигнал Ошибка сегментации (11)

Я не запуск каких-либо странных модулей Apache или чего-то еще. Только значение по умолчанию и PHP 8.4.
Мой сайт работал на моем ноутбуке с OSX, а теперь нет. Теперь мне нужно вернуться к терминалу на сервере Linux.

Подробнее здесь: https://stackoverflow.com/questions/798 ... eird-objec
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»