Как проверить, какие расширения PHP были включены/отключены в Ubuntu Linux 12.04 LTS?
Я использую Ubuntu Linux 12.04 LTS на своей локальной машине. Я давно установил лампу на своей машине. Теперь я хочу включить следующие расширения PHP:
- php_zip
- php_xml
- php_gd2
Для этого сначала я хочу проверить, включены ли эти расширения PHP или нет. Я много искал о том, как проверить установленные/включенные расширения PHP, но каждый раз, когда я находил, как установить эти расширения в Ubuntu Linux. Так может кто-нибудь, пожалуйста, дайте мне знать, как должен ли я проверить включенные/отключенные расширения PHP в Ubuntu Linux 12.04 LTS? Заранее спасибо.
6 answers
Проверка наличия установленных модулей и пакетов php
В дополнение к запуску
php -m
Чтобы получить список установленных модулей php , вам, вероятно, будет полезно получить список установленных в настоящее время пакетов php в Ubuntu:
sudo dpkg --get-selections | grep -v deinstall | grep php
Это полезно, так как Ubuntu делает модули php доступными через пакеты .
Затем вы можете установить необходимые модули , выбрав из доступных Ubuntu php пакеты , которые вы можете просмотреть, запустив:
sudo apt-cache search php | grep "^php5-"
Или, для Ubuntu 16.04:
sudo apt-cache search php | grep "^php7.0-"
Как вы уже упомянули, существует множество доступной информации о фактической установке пакетов, которые вам могут потребоваться, поэтому я не буду подробно останавливаться на этом здесь.
Связано: Включение/отключение установленных модулей php
Возможно, что установленный модуль был отключен . В этом случае он не появится, когда работает php -m
, но он появится в списке установленных пакетов Ubuntu.
Убунту 12.04:
Для включения установленного модуля:
php5enmod <modulename>
Для отключения установленного модуля:
php5dismod <modulename>
Ubuntu 16.04 (php7):
Для включения установленного модуля:
phpenmod <modulename>
Для отключения установленного модуля:
phpdismod <modulename>
Перезагрузить Apache
Не забудьте перезагрузить Apache2 после включения/выключения:
service apache2 reload
Чтобы проверить, включены ли эти расширения или нет, вы можете создать php-файл, т.Е. info.php
и написать там следующий код:
<?php
echo "GD: ", extension_loaded('gd') ? 'OK' : 'MISSING', '<br>';
echo "XML: ", extension_loaded('xml') ? 'OK' : 'MISSING', '<br>';
echo "zip: ", extension_loaded('zip') ? 'OK' : 'MISSING', '<br>';
?>
Вот и все.
Вы можете просмотреть, какие модули (скомпилированные в) доступны через терминал через php -m
Возможно, самый простой способ узнать, какие расширения (скомпилированы и) загружены (не в командной строке), - это запустить на сервере следующее:
<?php
$ext = get_loaded_extensions();
asort($ext);
foreach ($ext as $ref) {
echo $ref . "\n";
}
Интерфейс командной строки PHP не обязательно имеет загруженные одинаковые расширения.
Для получения информации о php extensions
и т.д., на сайте.
Создайте новый файл и назовите его
info.php
(или каким-либо другимname.php
)-
Напишите в нем этот код:
<?php phpinfo (); ?>
Сохраните файл в
root
(главная страница) сайта- Откройте файл в своем браузере. Например:
example.com/info.php
Вся информацияphp
на вашем сайте будет отображена.