Centos下升级php5.2到php5.4全记录(编译安装),php5.2php5.4
Centos下升级php5.2到php5.4全记录(编译安装),php5.2php5.4
升级
目前php最新版虽然是php5.5,但出于各种考虑,还是先升到php5.4比较靠谱。
原php使用的是php5.2.10,已经运行了4~5年了,是时候升级了。
5.4最新稳定版是5.4.21(14 Nov 2013发布了5.4.22...)
复制代码 代码如下:
wget http://cn2.php.net/get/php-5.4.21.tar.gz/from/this/mirror
tar zxf php-5.4.21.tar.gz
cd php-5.4.21
修改源码,如果程序编码是utf-8的,跳过此步骤。
如果你的程序默认是GBK,而且程序中有不少使用htmlspecialchars的,建议直接修改源码,因为5.4默认为utf-8了。用htmlspecialchars输出的都会是空。
复制代码 代码如下:
ext/standard/html.c
line 372
/* Default is now UTF-8 */
if (charset_hint == NULL)
return cs_utf_8;
--->
/* Default is now UTF-8 */
if (charset_hint == NULL)
return cs_8859_1;
解决htmlspecialchars默认UTF-8的问题。
复制代码 代码如下:
./configure --prefix=/usr/local/php5.4 --with-zlib --enable-bcmath --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-mysql --with-mysqli --with-pdo-mysql --enable-ftp --with-jpeg-dir --with-freetype-dir --with-png-dir --enable-fpm --with-fpm-user=www --with-fpm-group=www
较精简的安装参数:
复制代码 代码如下:
./configure --prefix=/usr/local/php5.4 --enable-fpm --with-mysql
make ZEND_EXTRA_LIBS='-liconv'
make install
-----------------------
把两个默认文件移到正确的地方,php.ini-development或php.ini-production看情况。
复制代码 代码如下:
cd /usr/local/php5.4/etc/
cp php-fpm.conf.default php-fpm.conf
cp /www/soft/php-5.4.21/php.ini-development /usr/local/php5.4/lib/php.ini
------------------------------
php-fpm.conf中
listen.allowed_clients = 127.0.0.1前面的;去掉
---------------------
php.ini中
复制代码 代码如下:
short_open_tag = Off
改为
复制代码 代码如下:
short_open_tag = On
复制代码 代码如下:
;date.timezone =
改为
复制代码 代码如下:
date.timezone = "Asia/Shanghai"
复制代码 代码如下:
error_reporting = E_ALL
改为
复制代码 代码如下:
error_reporting = E_ALL & ~E_NOTICE
添加到开机服务列表
复制代码 代码如下:
cp -f /www/soft/php-5.4.21/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
启动php-fpm:
复制代码 代码如下:
service php-fpm start
php升级完成!
------------------------------------------------------
装ZendOpcache,据维护者Laruence称,Zend Opcache, 它是一个以扩展形式提供的PHP的Optmizer, 也会做很多编译优化, 也没有兼容性问题. 相比APC, 也要快7%以上. 不过它不提供apc_store用户数据Cache。如要使用apc的user cache,可以考虑使用APCU或者Laruence的Yac一起搭配使用。
复制代码 代码如下:
wget http://pecl.php.net/get/ZendOpcache
tar zxf ZendOpcache
cd zendopcache-7.0.2/
/usr/local/php5.4/bin/phpize
./configure --with-php-config=/usr/local/php5.4/bin/php-config
make
make install
Installing shared extensions: /usr/local/php5.4/lib/php/extensions/no-debug-non-zts-20100525/
php.ini里直接加到底部,官方建议参数
复制代码 代码如下:
zend_extension= /usr/local/php5.4/lib/php/extensions/no-debug-non-zts-20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.save_comments=0
opcache.enable_file_override=1
service php-fpm reload
这里phpinfo()里就有with Zend OPcache v7.0.2,以及不少相关的参数了。
这样php5.4就算升级完了。
--------------------------------
可能碰到的错误:
启动php-fpm失败
复制代码 代码如下:
Starting php-fpm /etc/init.d/php-fpm: line 53: 12483 Segmentation fault $php_fpm_BIN --daemonize $php_opts
failed
同时安装了APC和Zend opcache导致冲突,有了Zend opcache,可以不用装APC了。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS에서 중국어 입력을 사용하는 방법에는 fcitx 입력 방법 사용: fcitx 설치 및 활성화, 단축키 설정, 단축키를 눌러 입력 방법 전환, 병음을 입력하여 후보 단어 생성 등이 있습니다. iBus 입력 방법 사용: iBus를 설치 및 활성화하고, 단축키를 설정하고, 단축키를 눌러 입력 방법을 전환하고, 병음을 입력하여 후보 단어를 생성합니다.

CentOS 7에서 U 디스크 파일을 읽으려면 먼저 U 디스크를 연결하고 장치 이름을 확인해야 합니다. 그런 다음 다음 단계를 사용하여 파일을 읽습니다. USB 플래시 드라이브 마운트: mount /dev/sdb1 /media/sdb1("/dev/sdb1"을 실제 장치 이름으로 대체) USB 플래시 드라이브 파일 찾아보기: ls /media /sdb1; cd /media /sdb1/디렉토리;

scp 명령을 사용하여 네트워크 호스트 간에 파일을 안전하게 복사할 수 있습니다. 데이터 전송 및 인증을 위해 SSH를 사용합니다. 일반적인 구문은 다음과 같습니다: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp 파일 제외 scp 명령을 사용할 때는 할 수 없을 것 같습니다 파일을 필터링하거나 제외합니다. 그러나 파일을 제외하고 SSH를 사용하여 안전하게 복사하는 좋은 해결 방법이 있습니다. 이 페이지에서는 scp를 사용하여 디렉터리를 반복적으로 복사할 때 파일을 필터링하거나 제외하는 방법을 설명합니다. rsync 명령을 사용하여 파일을 제외하는 방법 구문은 다음과 같습니다: rsyncav-essh-

잊어버린 CentOS 비밀번호에 대한 해결 방법은 다음과 같습니다. 단일 사용자 모드: 단일 사용자 모드로 들어가서 passwd root를 사용하여 비밀번호를 재설정합니다. 복구 모드: CentOS Live CD/USB에서 부팅하고 루트 파티션을 마운트하고 비밀번호를 재설정합니다. 원격 액세스: SSH를 사용하여 원격으로 연결하고 sudo passwd root로 비밀번호를 재설정합니다.

CentOS 7은 기본적으로 루트 권한을 비활성화합니다. 다음 단계에 따라 활성화할 수 있습니다. 임시 활성화: 터미널에 "su root"를 입력하고 루트 비밀번호를 입력합니다. 영구적으로 활성화됨: "/etc/ssh/sshd_config"를 편집하고 "PermitRootLogin no"를 "yes"로 변경한 후 SSH 서비스를 다시 시작합니다.

CentOS 7에서 루트 권한을 얻는 방법에는 여러 가지가 있습니다. 1. "su"를 사용하여 명령을 실행합니다. 2. 단일 명령을 실행하려면 "sudo"를 사용하십시오. 3. 루트 사용자를 활성화하고 비밀번호를 설정합니다. 참고: 루트 권한을 사용할 때는 시스템이 손상될 수 있으므로 주의하십시오.

CentOS에서 루트 권한으로 작업을 수행하는 방법에는 두 가지가 있습니다. 1) sudo 명령을 사용하여 일시적으로 루트 권한을 얻습니다. 2) 루트 사용자 비밀번호를 사용하여 직접 로그인합니다. 루트 권한을 사용할 때는 각별히 주의해야 하며 필요한 경우에만 사용하는 것이 좋습니다.

CentOS를 게이트웨이로 구성하려면 다음 단계를 수행해야 합니다. 1. 네트워크 인터페이스를 구성하고 GATEWAY 값을 추가합니다. 2. 기본 게이트웨이를 설정하고 DNS 정보를 지정합니다. 3. 네트워크 서비스를 시작합니다. 5. 게이트웨이를 통한 트래픽을 허용하도록 방화벽을 구성합니다(선택 사항).
