php配置时,这里面开启了很多扩展。如果这时候忘了开启,以后还能加上吗?答案是可以的。以后只需要进入源码的ext
目录,例如忘了pdo_mysql
,进入ext/pdo_mysql
,使用phpize工具,像安装普通扩展一样即可生成pdo_mysql.so。
关于:--enable-safe-mode
开启的话php可以执行一下系统函数,建议关闭(可搜索受此函数影响的php函数)
#如果只需要配置某一个目录可以执行则 设置为on并指定 safe_mode_exec_dir=string目录来执行系统函数。 #本特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。 safe_mode = off
php7编译不用加这个配置。
查看php已经安装的扩展:
php -m
升级 php 7.2 后,使用mcrypt提供的加解密代码时,提示 call to undefined function mcrypt_module_open() ;大脑疯狂运转1秒钟后,得出结论:php 7.2的扩展有变动;查阅相关资料知晓,mcrypt 扩展从 php 7.1.0 开始废弃;自 php 7.2.0 起,会移到 pecl。还好,安装过程不复杂。
环境:centos 7
yum 安装依赖包:
yum install libmcrypt libmcrypt-devel mcrypt mhash
在 php 官网下载 mcrypt 包,php 扩展官网
# wget http://pecl.php.net/get/mcrypt-1.0.1.tgz
# tar xf mcrypt-1.0.1.tgz
# cd mcrypt-1.0.1
编译安装 mcrypt
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
在php.ini加上扩展即可
extension=mcrypt.so
重启 php-fpm
/etc/init.d/php-fpm restart