Модули PHP загружаются через командную строку, но не через Apache в Mac OS [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Модули PHP загружаются через командную строку, но не через Apache в Mac OS [закрыто]

Сообщение Anonymous »

Я пытаюсь настроить среду разработки PHP в Mac OS Big Sur. Я использую Apache, входящий в состав ОС, но использую MacPorts для PHP.
Чтобы установить PHP v8.3, я запустил:

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

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

В командной строке:
Изображение

Я создал небольшой php-файл со следующим содержимым:

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

if (class_exists('ZipArchive')) {
echo 'ZipArchive is available!';
} else {
echo 'ZipArchive is not available.';
}
Когда я запускаю это через командную строку, я получаю сообщение «ZipArchive доступен». Когда я просматриваю через браузер, я получаю сообщение «ZipArchive недоступен».
В php.ini я использую полное имя каталога с расширением; то есть:

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

extension=/opt/local/lib/php83/extensions/no-debug-non-zts-20230831/zip.so
Я пробовал это с полным путем и без него, а также с расширением .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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Модули PHP загружаются через командную строку, а не через Apache в Mac OS.
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Модули PHP загружаются через командную строку, а не через Apache в Mac OS.
    Anonymous » » в форуме Apache
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Модули PHP загружаются через командную строку, а не через Apache в Mac OS.
    Anonymous » » в форуме Php
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Модули PHP загружаются через командную строку, а не через Apache в Mac OS.
    Anonymous » » в форуме Php
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Модули PHP загружаются через командную строку, а не через Apache в Mac OS.
    Anonymous » » в форуме Php
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

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