我在我的本地机器上使用Ubuntu Linux 12.04 LTS。我很久以前就在我的机器上安装了LAMP。现在我想启用以下PHP扩展:
ef1yzkbh1#
除了跑步
php -m
要获取已安装php模块的列表,您可能会发现获取Ubuntu中当前已安装php包的列表很有帮助:
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"
正如您所提到的,有大量关于您可能需要的包的实际安装的信息,所以我不会在这里详细介绍。
有可能安装的模块被禁用了。在这种情况下,它不会在运行php -m时显示,但会显示在已安装的Ubuntu软件包列表中。可以通过php-common软件包中的php5enmod工具(在更高版本中为phpenmod)启用/禁用模块。
php-common
php5enmod
phpenmod
Ubuntu 12.04版本:
启用的模块在/etc/php5/conf.d中符号链接
/etc/php5/conf.d
Ubuntu 12.04版本:(使用PHP 5.4及以上版本)
要 * 启用 * 已安装的模块:
php5enmod <modulename>
要 * 禁用 * 已安装的模块:
php5dismod <modulename>
Ubuntu 16.04(php7)及更高版本:
phpenmod <modulename>
phpdismod <modulename>
重新加载Apache
记住在启用/禁用后重新加载Apache 2:
service apache2 reload
vql8enpb2#
要检查此扩展是否已启用,您可以创建一个php文件,即info.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>'; ?>
就是这样。
6ojccjat3#
您可以通过php -m查看哪些模块(已编译)可通过终端使用
h7wcgrx34#
也许查看哪些扩展被(编译和)加载(不在cli中)的最简单方法是让服务器运行以下命令:
<?php $ext = get_loaded_extensions(); asort($ext); foreach ($ext as $ref) { echo $ref . "\n"; }
PHP cli不必加载相同的扩展。
xpcnnkqh5#
有关php extensions等的信息,请在现场查看。1.创建一个新文件并将其命名为info.php(或其他名称name.php)1.在其中写入以下代码:
php extensions
name.php
<?php phpinfo (); ?>
1.将文件保存在站点的root(主页)中1.在浏览器中打开文件。例如:example.com/info.php将显示您站点上的所有php信息。
root
example.com/info.php
php
lf5gs5x26#
搜索扩展名/etc/php5/apache2/php.ini
14ifxucb7#
另一种查看模块是否启用/禁用与是否仅安装的快速方法是使用phpquery命令。例如,在我的Linux Mint机器上,如果我想查看是否启用了xdebug,我会运行:
phpquery -v 8.1 -s apache2 -m xdebug
-v -用于指定所需的版本-s -指定环境(apache 2或cli)-m -您感兴趣的模块。对上述示例的响应是(在我的示例中):
xdebug (Enabled for apache2 by maintainer script)
Here更多示例。
7条答案
按热度按时间ef1yzkbh1#
检查已安装的php模块和软件包
除了跑步
要获取已安装php模块的列表,您可能会发现获取Ubuntu中当前已安装php包的列表很有帮助:
这很有用,因为Ubuntu通过包提供php模块。
然后您可以从可用的Ubuntu php软件包中进行选择来安装所需的模块,您可以通过运行以下命令来查看这些软件包:
或者,对于Ubuntu 16.04及更高版本:
正如您所提到的,有大量关于您可能需要的包的实际安装的信息,所以我不会在这里详细介绍。
相关:启用/禁用已安装的php模块
有可能安装的模块被禁用了。在这种情况下,它不会在运行
php -m
时显示,但会显示在已安装的Ubuntu软件包列表中。可以通过
php-common
软件包中的php5enmod
工具(在更高版本中为phpenmod
)启用/禁用模块。Ubuntu 12.04版本:
启用的模块在
/etc/php5/conf.d
中符号链接Ubuntu 12.04版本:(使用PHP 5.4及以上版本)
要 * 启用 * 已安装的模块:
要 * 禁用 * 已安装的模块:
Ubuntu 16.04(php7)及更高版本:
要 * 启用 * 已安装的模块:
要 * 禁用 * 已安装的模块:
重新加载Apache
记住在启用/禁用后重新加载Apache 2:
vql8enpb2#
要检查此扩展是否已启用,您可以创建一个php文件,即
info.php
,并在其中编写以下代码:就是这样。
6ojccjat3#
您可以通过
php -m
查看哪些模块(已编译)可通过终端使用h7wcgrx34#
也许查看哪些扩展被(编译和)加载(不在cli中)的最简单方法是让服务器运行以下命令:
PHP cli不必加载相同的扩展。
xpcnnkqh5#
有关
php extensions
等的信息,请在现场查看。1.创建一个新文件并将其命名为
info.php
(或其他名称name.php
)1.在其中写入以下代码:
1.将文件保存在站点的
root
(主页)中1.在浏览器中打开文件。例如:
example.com/info.php
将显示您站点上的所有php
信息。lf5gs5x26#
搜索扩展名
/etc/php5/apache2/php.ini
14ifxucb7#
另一种查看模块是否启用/禁用与是否仅安装的快速方法是使用phpquery命令。
例如,在我的Linux Mint机器上,如果我想查看是否启用了xdebug,我会运行:
-v -用于指定所需的版本
-s -指定环境(apache 2或cli)
-m -您感兴趣的模块。
对上述示例的响应是(在我的示例中):
Here更多示例。