nginx+php+mysql环境搭建,以及discuz和ibosOA系统运行环境
Nginx+php+mysql运行ibos的OA系统
当前运行环境php5.4+nginx+mysql运行过discuz,可是今天整个ibos的OA,结果报一堆错误,都是zend报错,刚开始都不知道zend是个啥玩意儿,后来排错过程中才知道原来是给php源码机密了,没搞过php,还真不知道有这么个东东。
下面就是漫长的测试路:
一、原有环境测试
将ibos源码放到服务器上,一打开页面上是zend20040722…一串,然后整屏乱码,网上得知是zend加密,需要安装zend,接着开始安装zend,但是官网()没有支持php5.4的zend版本,于是抱着侥幸心理下载了支持5.3的zend
安装zend很简单
我下载的是ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz 解压后将ZendGuardLoader.so拷贝到php的lib下,然后在php.ini最后一行增加了下面这行 zend_extension=/usr/local/php5.2/lib/php/build/ZendGuardLoader.so
当然这个路径可以随便指定,只要指定的地方有那个so文件即可
上述一切完成后重启php和nginx,看到效果跟之前一模一样,看来是任何时候都不能抱有侥幸心理的
二、php5.3安装测试
Zend在php5.3之前是叫ZendOptimizer,而在php5.3之后叫ZendGuard
接下来开始php5.3的测试
编译安装了php5.3(编译安装跟下文中5.2的安装雷同)
再把之前的ZendGuardLoader.so放到php5.3里配置,最后再重启看效果
这次有了点进步,没有zend的报错了,但是页面报了以下错误
Fatal error: Incompatible file format: The encoded file has format major ID -1572286790, whereas the Optimizer expects 2 in /var/www/html/oa/upload/index.php on line 0 于是再次搜错,网上基本两种说法:
1、 zend版本太低(这个基本排除),因为我是从官网下载最新的版本,不是zend版本低那就是php版本高了
2、 是php源码加密时使用的zend版本太低
我觉得应该是第二个原因,但是我又没办法重新加密
三、php-5.2.1安装测试
下载了php-5.2.1编译安装
再下载了ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz 将对应的ZendOptimizer.so放到了php5.2下面,配置php.ini,这次在启动php时候报错了,如下
spawn-fcgi: child exited with: 126
这是报没有php-cgi,到php的bin下看了一下,结果真的没有php-cgi,觉得再去研究php5.2.1下面搞个php-cgi,还不如下载个5.2.X里版本高点的测试。
四、php-5.2.5安装测试
下载了php-5.2.5编译安装
然后将之前ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz 将对应的ZendOptimizer.so放到了php5.2下面,配置php.ini,首先看了下php的bin下有php-cgi,然后启动服务,再次