/
/
Не отображается стандартное расширение PHP

Не отображается стандартное расширение PHP

Симптомы

В панели ispmanager 6 в настройках PHP не отображается расширение, которое входит в стандартную сборку.

Также расширение отсутствует в списке при запросе по команде:

php -m #для нативного PHP
/opt/phpXX/bin/php -m #для альтернативных версий PHP

Причина

Для файла расширения присутствует зацикленная символическая ссылка. Например, так выглядит расширение posix для альтернативного PHP версии 7.3 с зацикленной символической ссылкой:

# cat /opt/php73/etc/mods-available/posix.ini
lrwxrwxrwx 1 root root 39 Dec 19  2024 /opt/php73/etc/php.d/20-posix.ini -> /opt/php73/etc/mods-available/posix.ini

Решение

Измените содержимое файла PHP-расширения в формате INI в директории /etc/php/XX/mods-available/ (путь для альтернативных версий PHP - /opt/phpXX/etc/mods-available/) на следующее:

extension=%ИМЯ_РАСШИРЕНИЯ%.so

Например, для расширения posix для альтернативного PHP версии 7.3 содержимое будет следующим:

extension=posix.so