Blog
Blog copied to clipboard
在 Arch Linux 下如何安装php扩展
在 Arch Linux 下如何安装php扩展
场景
由于当初的PHP是pacman安装而不是源码安装的, 并且自己的Arch也好久没滚动更新了, 导致想安装PHP 扩展的时候:
$ sudo pacman -S php-sqlite
Error 404 找不到下载链接, 毕竟好久没更新系统了.
而且又不是源码安装, 因此不能使用源码安装的办法, 详情请戳PHP安装扩展
如何安装扩展
这里介绍的办法, 同上面的PHP安装扩展其实差不多, 只不过是多了几步而已.
首先查看自己的PHP版本,
$ php --version
输出:
PHP 7.0.9 (cli) (built: Jul 20 2016 17:12:28) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
然后去http://www.php.net/releases/官网, 找到自己的PHP版本, 下载回来本地, 这里, 博主选择的是7.0.9版本.
下载回来之后, 解压进入ext目录:
$ tar xfz php-7.0.9
$ cd php-7.0.9/ext/pod_sqlite/ # 博主安装pdo_sqlite这个扩展
然后在这个目录下运行:
$ phpize
在这里可能会遇到类似这样的错误:
Cannot find config.m4.
Make sure that you run '/opt/local/bin/phpize' in the top level source directory of the module
在该目录下, ls 可以看到一个config0.m4文件,
$ cp config0.m4 config.m4
然后依次运行:
$ phpize
$ ./configure
$ make clean && make && make install
然后我们需要的pdo_sqlite.so文件就生成在当前路径的modules目录下.
然后把pdo_sqlite.so复制到我们pacman安装的php动态库中, 在这里, 博主的是:
$ cp modules/pdo_sqlite.so /usr/lib/php/modules/
(PS: 如果不知道自己的动态库位置在那里, 在php.ini中打开pdo_sqlite.so扩展之后, 在命令行使用php -m | grep sqlite会收到相应的提示, 例如: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/pdo_sqlite.so')
最后, 重启下php服务, 尝试使用pdo_sqlite.so扩展, ok了!