169 похожих чатов

Всем привет. Кто-нибудь сталкивался с проблемой, что после установки расширения для

PHP через PECL, оно не подтягивается в mod_php?
Стоит Mac OS Big Sur последней версии, процессор M1 (архитектура arm64).
PHP скомпилен под arm64, libphp7.so (mod_php) — тоже под arm64.
pecl отработал без ошибок и даже поставил в php.ini строчку с подключением модуля, в командной строке модуль спокойно находится. Но сервер до сих пор не видит. Делал и рестарты, и принудительные стоп и старт апача, но все по-прежнему.
phpinfo показывает, что загружается нужный php.ini, но почему-то модуля в phpinfo нет 😞
Версия PHP: 7.4.18
Стоит также отметить, что это проблема загрузки динамических библиотек в целом. С PHP в комплекте шел opcache, который тоже динамический... и phpinfo даже показывает, что подгружает его конфиг с отдельного ini-конфига... но в модулях его тоже не видно.

4 ответов

23 просмотра

Если вдруг кому интересно решение проблемы, то оказывается с некоторых пор Apple подписывает все системные программы в /usr/bin с помощью своего сертификата. С точки зрения безопасности эти программы не могут загружать неподписанные библиотеки. Таким образом, в момент загрузки расширения проверяется подпись расширения... если подписи нет или не проходит валидацию через стандартные механизмы codesign, то расширение просто не загружается. Эта ошибка сваливается в Apache log, который за системные ошибки отвечает. Далее все спокойно работает дальше. В PHP CLI все работало, так как я его собирал сам и не подписывал никакими сертификатами разработчика. Соответственно, подключаемые расширения также не проверялись на подпись. Отсюда вывод: решением проблемы будет либо подпись всех библиотек сертификатом разработчика, либо установить apache собственными силами отдельно от системного.

Brew install php@7.4 && brew link php@7.4 и не занимайтесь велосипедостроением со сборкой из исходников на маке. У вас же не генту.

решил повыделываться и обосрался, он же не про это говорит

Прошу не судить по своему опыту. Это всего лишь подсказка что делать. Пхп расширения ставятся так же. Брю сам все скомпилит и поставит. Им же можно поставить апач и все прекрасно само взлетит без танцев с бубном. А свой токсичный стиль общения стоит оставить где-то там, где вы забыли и своё умение видеть чуть дальше собственного носа.

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

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта