好吧,在安装php扩展方面,ubuntu16和php7有什么根本的改变吗?
我刚把一个服务器从ubuntu 14升级到16,服务器需要运行自己的云。我也不能从头开始重建它
apt-cache search php- | less
它按预期列出可用的扩展。这里有一个片段:
...
php-icinga - PHP library to communicate with and use Icinga
php-igbinary - igbinary PHP serializer
php-imagick - Provides a wrapper to the ImageMagick library
php-irods-prods - PHP client API for iRODS
php-jmespath - Declaratively specify how to extract elements from a JSON document
php-json-patch - Produce and apply json-patch objects
php-json-schema - implementation of JSON schema于是我开始安装php ImageMagick:apt-get install php-imagick。
安装的最后一行是WARNING: Module imagick ini file doesn't exist under /etc/php/7.0/mods-available。
当然,在.../mods-available下没有ini文件用于imagik。
有谁知道这是什么原因?
我玩的不是php没有正确安装,就是系统不知何故安装了多个php版本,并且在某个地方发生了某种冲突。在usr/bin中我可以看到php@和php7.0*
不过我完全被困住了。
发布于 2016-11-15 15:05:03
/usr/lib/php/<buildnumber>/<modulename>.so/etc/php/7.0/mods-available中的ini文件简单地映射到上面的.so文件之一,即它们包含一行真正重要的extension=<modulename>。phpenmod <modulename>只会在/etc/php/7.0/apache/conf.d & /etc/php/7.0/cli/conf.d文件夹中创建一个引用文件。所以简而言之..。您需要确保.so文件的存在,mods中可用的ini文件的存在,并且在相关的地方引用它,例如apache、fpm或cli。
希望这能帮到和我一样的人。
正如其中一条注释中提到的,关于php和mysql.它按装载顺序排列。/etc/php/7.0/apache/conf.d中引用文件的字母顺序实际上是由php加载模块的顺序。如果遇到mysqli问题,请尝试确保mysqlnd模块在mysqli模块之前加载。这个帮我修好了东西。
https://askubuntu.com/questions/848910
复制相似问题