今天修改了一个php小程序,自己写个表单提交到php页去测试,在本地测试成功后上传到服务器,表单提交跳转到php页出现空白页现象,没有出错也没有任何提示,这里已经排除路径错误的情况。
最后到服务器查看错误日志,我的服务器错误日志路径为/var/log/httpd/error_log,发现错误为:PHP Fatal error: Call to undefined function json_decode() in /var/www/vhost.d/addons.ioage.com/ext/getver.php on line 39, referer: http://addons.ioage.com/ext/u.html,根据错误提示发现是服务器上没有安装php-json扩展库,这个既然没有默认安装那就需要手动安装,而且yum源中没有json,那就手工安装编译。
1、下载源文件包
#wget http://www.aurore.net/projects/php-json/php-json-ext-1.2.0.tar.bz2
2、解压缩
#tar xvjf php-json-ext-1.2.0.tar.bz2
3、进入目录
#cd php-json-ext-1.2.0
4、准备 PHP 外挂模块的编译环境
#phpize
bash: phpize: commend not found --报错,安装 php-devel 相关套件就会有 phpize 可以使用
#yum -y install php-devel
#phpize
5、安装php-json
#./configure
#make
#makeinstall
6、查看是否安装成功
#find /-name '*json.so' --安装成功会显示加载模块的路径,我的路径是/usr/lib/php/modules/json.so
7、配置php.ini
extension=json.so --在相应位置添加,写在最后也行
8、重启apache服务
#service httpd restart
9、成功
(1)php小页面正常工作
(2)你也可以在phpinfo()中看到:
json support | enabled |
json version | 1.2.0 |