如何正确安装 PHP 扩展?

如何正确安装 PHP 扩展?

我想安装一些 PHP 扩展,以便可以在计算机上运行 Laravel 项目。我已经取消注释了/etc/php/7.0/cli/php.inidir,更准确地说:

扩展=php_mbstring.dll 扩展=php_mysqli.dll
扩展=php_pdo_mysql.dll
扩展=php_pdo_sqlite.dll
扩展=php_pgsql.dll
扩展=php_xmlrpc.dll

然后我运行sudo apt-get install php-mbstring php-mysqli php-pdo-mysql php-pdo-sqlite php-pgsql php-xmlrpc并重新启动了 apache 服务sudo systemctl restart apache2。但是,当我运行时,php --ini我得到了:

PHP 警告:PHP 启动:无法加载动态库“/usr/lib/php/20151012/php_mbstring.dll”-/usr/lib/php/20151012/php_mbstring.dll:无法打开共享对象文件:第 0 行未知中没有该文件或目录
PHP 警告:PHP 启动:无法加载动态库“/usr/lib/php/20151012/php_mysqli.dll”-/usr/lib/php/20151012/php_mysqli.dll:无法打开共享对象文件:第 0 行未知中没有该文件或目录
PHP 警告:PHP 启动:无法加载动态库“/usr/lib/php/20151012/php_pdo_mysql.dll”-/usr/lib/php/20151012/php_pdo_mysql.dll:无法打开共享对象文件:否此类文件或目录位于 Unknown 的第 0 行
PHP 警告:PHP 启动:无法加载动态库“/usr/lib/php/20151012/php_pdo_sqlite.dll”-/usr/lib/php/20151012/php_pdo_sqlite.dll:无法打开共享对象文件:Unknown 的第 0 行中没有此类文件或目录
PHP 警告:PHP 启动:无法加载动态库“/usr/lib/php/20151012/php_pgsql.dll”-/usr/lib/php/20151012/php_pgsql.dll:无法打开共享对象文件:Unknown 的第 0 行中没有此类文件或目录 PHP 警告
:PHP 启动:无法加载动态库“/usr/lib/php/20151012/php_xmlrpc.dll”- /usr/lib/php/20151012/php_xmlrpc.dll:无法打开共享对象文件:第 0 行未知中没有该文件或目录

我知道问题归结于只将.dll文件添加到此路径,但我猜一定有一种标准方法来做到这一点。还是我必须手动下载/编译它们并放在那里?提前致谢。

顺便说一下,我在 Linux Mint 18.1 上使用 PHP 7

答案1

您的配置有误。您启用的 dll 文件是针对 Windows 编译的。

正确的方法是安装 php-mbstring 包并让其自动启用 mbstring 扩展:

sudo apt-get install php-mbstring 然后您可以使用 phpenmod/phpdismod 命令禁用/启用扩展:

sudo phpdismod mbstring # 禁用 mbstring 扩展 sudo phpenmod mbstring # 再次启用 mbstring 扩展

资料来源:

启动:无法加载动态库'/usr/lib/php/20151012/php_mbstring.dll

相关内容