Чтобы установить PHP v8.3, я запустил:
Код: Выделить всё
$ sudo port install php83-zip
Использование $ php -ini и phpInfo() Я могу подтвердить, что PHP командной строки и Apache PHP используют одни и те же файлы php.ini.
Через Интернет:

В командной строке:

Я создал небольшой php-файл со следующим содержимым:
Код: Выделить всё
if (class_exists('ZipArchive')) {
echo 'ZipArchive is available!';
} else {
echo 'ZipArchive is not available.';
}
В php.ini я использую полное имя каталога с расширением; то есть:
Код: Выделить всё
extension=/opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip.so
Я каждый раз перезапускал apachectl (тестирование после каждой остановки и снова после каждого запуска).
Когда я запускаю Apache, проверяю журнал ошибок (
Код: Выделить всё
/var/log/apache2/error_log
Код: Выделить всё
[Sun Nov 10 10:23:18.227451 2024] [so:warn] [pid 24123] AH06665: No code signing authority for module at /opt/local/lib/apache2/modules/mod_php83.so specified in LoadModule directive. Proceeding with loading process, but this will be an error condition in a future version of macOS.
PHP Warning: PHP Startup: Unable to load dynamic library 'zip' (tried: /opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip (dlopen(/opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip, 9): image not found), /opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip.so (dlopen(/opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip.so, 9): no suitable image found. Did find:\n\t/opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip.so: code signature in (/opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip.so) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.)) in Unknown on line 0
[Sun Nov 10 10:23:18.244104 2024] [mpm_prefork:notice] [pid 24123] AH00163: Apache/2.4.56 (Unix) PHP/8.3.12 configured -- resuming normal operations
Код: Выделить всё
code signature in ... not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.)) in Unknown on line 0
Похоже, что Apache и командная строка читают одни и те же файлы .ini. Разрешения для всех файлов и каталогов кажутся хорошими (rwxr-x-rx). Однако Apache не загружает расширение zip.so.
Есть идеи, как заставить это работать?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -on-mac-os