之前公司的网站是在win2003下然后5.2.6的。前几天那台服务器换为ubuntu12.04了。然后直接apt-get发现是5.3.10的。发现不能用。表现为打开页面出现下面的乱码
1
|
Zend2003120702114034274x 2Xn6R,^Yfk?qM.6AQ[YYRE:OD{sc$Rv pf8pQIQW-ez~閿熸枻鎷:
/p-
'o79"WqJq9>?_[F<slje=&[[tkt,#b0zi|i ega'
="
" style="
font-family: Simsun; font-size: medium; white-space: normal;
">,$NtgV [Ns: g gg#->=9?w y..#g}2>AA"
Li, ~>?"IK}HaFA#/>lof|M|t-
|
最找来找去发现是版本太高,然后这个网站的PHP代码用zend加密过了。而且5.3的zend因为功能太多没往下兼容于是就这样了。没办法只能降级。
下面降级的脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/bin/sh
# Script to install PHP 5.2 from 9.10 on 10.04/12.04
# And pin it so it does not get updated
PKGS=`dpkg -l |
grep
php |
awk
'{print $2}'
`
apt-get remove $PKGS
sed
s
/precise/karmic/g
/etc/apt/sources
.list |
tee
/etc/apt/sources
.list.d
/karmic
.list
sed
-i
's/archive.ubuntu.com/old-releases.ubuntu.com/g'
/etc/apt/sources
.list.d
/karmic
.list
mkdir
-p
/etc/apt/preferences
.d/
for
PACKAGE
in
$PKGS
do
echo
"Package: $PACKAGE
Pin: release a=karmic
Pin-Priority: 991
" |
tee
-a
/etc/apt/preferences
.d
/php
done
apt-get update
#下面这行原来是这样的 apt-get install $PKGS 然后试了不行。
#可能这样可以 apt-get install -t karmic $PKGS 没测试
apt-get
install
-t karmic php5-cli libapache2-mod-php5 php5-gd php5-mysql php5-common
|
下载ZendOptimizer
1
2
3
|
$ wget
"http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz"
$
tar
xzvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.
tar
.gz
$
cd
ZendOptimizer-3.3.9-linux-glibc23-x86_64/
|
复制ZendOptimizer.so到系统lib目录
1
|
cp
data
/5_2_x_comp/ZendOptimizer
.so
/usr/lib/php5/libexec/
|
配置php.ini使PHP支持ZendOptimizer
1
2
3
|
vi
/etc/php5/apache2/php
.ini
[ZendOptimizer]
zend_extension=
/usr/lib64/php5/libexec/ZendOptimizer
.so
|
重启apache2 OK
本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1719390,如需转载请自行联系原作者