下载源码php5.6:
1,
wget https://www.php.net/distributions/php-5.6.40.tar.gz
2,解压后进入源码根目录,在这里预编译
./configure --prefix=/usr/soft/php5640 --with-config-file-path=/usr/soft/php5640/etc --with-config-file-scan-dir=/usr/soft/php5640/etc --with-apxs2=/usr/soft/apache24/bin/apxs
这里请注意:--with-config-file-path=/usr/soft/php5624/etc 这一项是配置好了的
3,编译完成后,make && make istall 都很顺利
4,然后进入
5.
/usr/soft/php5624/bin/phpize
./configure --with-php-config=//usr/soft/php5640/bin/php-config
make && make install
顺利完成
查看‘.so’文件也创建成功
也配置了php.ini
保存后。重启apache也可以正常启动。(这里我重启了n次) 。可查看
php56 -m,就是没有“mbstring”. 这一项。心里好生郁闷。搞了半天。偶尔查了下这个
php56 --ini
发再配置文件路径竟然是这个
重新配置了这个目录下的php.ini文件,终于将mbstring按装成功。
经验总结:
可能低版本的php预编译时,与高版本的php发生了某些冲突,导致 ‘--with-config-file-path’ 这个选项失效。但暂时没有发现哪些已经使用的功能遭到破坏,以后再遇到这种情况,不防看看php.ini的路径是否正确!
个人心得:
1,在编译php的时候
./configure 后面的配置项最好完整的保存下来,记住保存位置,以备随时查阅,以免以后新增或者修改配置项的时候用的着。
2,make 之前先 make clean 是个好习惯。很多时候make 后会出现一些奇奇怪怪的错误,与其在百度谷歌上找半天解决方案,不如先make clean一下,说不定就一切顺利了。