PHP*_*ver 60 php linux php-extension ubuntu-12.04
我在我的本地机器上使用Ubuntu Linux 12.04 LTS.我很久以前在我的机器上安装了LAMP.现在我想启用以下PHP扩展:
首先,我想检查是否启用了这些PHP扩展.我搜索了很多关于如何检查已安装/启用的PHP扩展,但每次我发现如何在Ubuntu Linux上安装这些扩展时.那么有人可以告诉我如何在Ubuntu Linux 12.04 LTS中检查启用/禁用的PHP扩展?提前致谢.
Wer*_*ner 134
除了跑步
php -m
Run Code Online (Sandbox Code Playgroud)
要获取已安装的php 模块列表,您可能会发现在Ubuntu中获取当前安装的php 包列表很有帮助:
sudo dpkg --get-selections | grep -v deinstall | grep php
Run Code Online (Sandbox Code Playgroud)
这很有用,因为Ubuntu 通过包提供php 模块.
然后,您可以从可用的Ubuntu php 软件包中进行选择来安装所需的模块,您可以通过运行来查看这些软件包:
sudo apt-cache search php | grep "^php5-"
Run Code Online (Sandbox Code Playgroud)
或者,对于Ubuntu 16.04及更高版本:
sudo apt-cache search php | grep "^php7"
Run Code Online (Sandbox Code Playgroud)
正如您所提到的,有关您可能需要的软件包实际安装的大量信息,因此我不会在此详细介绍.
已安装的模块可能已被禁用.在这种情况下,它在运行时不会显示php -m,但会显示在已安装的Ubuntu软件包列表中.
可以通过作为包的一部分的php5enmod工具(phpenmod在后来的发行版上)启用/禁用模块php-common.
Ubuntu 12.04:
符号链接已启用的模块 /etc/php5/conf.d
Ubuntu 12.04 :( PHP 5.4+)
要启用已安装的模块:
php5enmod <modulename>
Run Code Online (Sandbox Code Playgroud)
要禁用已安装的模块:
php5dismod <modulename>
Run Code Online (Sandbox Code Playgroud)
Ubuntu 16.04(php7)及更高版本:
要启用已安装的模块:
phpenmod <modulename>
Run Code Online (Sandbox Code Playgroud)
要禁用已安装的模块:
phpdismod <modulename>
Run Code Online (Sandbox Code Playgroud)
重新加载Apache
记得在启用/禁用后重新加载Apache2:
service apache2 reload
Run Code Online (Sandbox Code Playgroud)
Tah*_*rar 26
要检查是否启用了此扩展,您可以创建一个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>';
?>
Run Code Online (Sandbox Code Playgroud)
而已.
也许查看(编译和)加载哪些扩展(不在 cli 中)的最简单方法是让服务器运行以下命令:
<?php
$ext = get_loaded_extensions();
asort($ext);
foreach ($ext as $ref) {
echo $ref . "\n";
}
Run Code Online (Sandbox Code Playgroud)
PHP cli 不一定加载相同的扩展。