Rumah pembangunan bahagian belakang tutorial php Centos下升级php5.2到php5.4全记录(编译安装)_PHP

Centos下升级php5.2到php5.4全记录(编译安装)_PHP

May 30, 2016 pm 02:59 PM
centos php5.4 Susun dan pasang

升级

目前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了。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memasukkan bahasa Cina dalam centos Bagaimana untuk memasukkan bahasa Cina dalam centos Apr 07, 2024 pm 08:21 PM

Kaedah untuk menggunakan input Cina dalam CentOS termasuk: menggunakan kaedah input fcitx: pasang dan dayakan fcitx, tetapkan kekunci pintasan, tekan kekunci pintasan untuk menukar kaedah input dan masukkan pinyin untuk menjana perkataan calon. Gunakan kaedah input iBus: Pasang dan dayakan iBus, tetapkan kekunci pintasan, tekan kekunci pintasan untuk menukar kaedah input dan masukkan pinyin untuk menjana perkataan calon.

Bagaimana untuk membaca fail cakera USB dalam centos7 Bagaimana untuk membaca fail cakera USB dalam centos7 Apr 07, 2024 pm 08:18 PM

Untuk membaca fail cakera U dalam CentOS 7, anda perlu menyambungkan cakera U dahulu dan mengesahkan nama perantinya. Kemudian, gunakan langkah berikut untuk membaca fail: Lekapkan pemacu kilat USB: lekapkan /dev/sdb1 /media/sdb1 (ganti "/dev/sdb1" dengan nama peranti sebenar) Semak imbas fail pemacu kilat USB: ls /media /sdb1; cd /media /sdb1/nama fail kucing

Bagaimana untuk memasukkan kebenaran root dalam centos7 Bagaimana untuk memasukkan kebenaran root dalam centos7 Apr 02, 2024 pm 08:57 PM

Terdapat dua cara untuk memasukkan kuasa akar CentOS 7: gunakan arahan sudo: masukkan sudo su - dalam terminal dan masukkan kata laluan pengguna semasa. Log masuk terus sebagai pengguna root: Pilih "Lain" pada skrin log masuk, masukkan "root" dan kata laluan root. Nota: Beroperasi dengan berhati-hati dengan keistimewaan root, melaksanakan tugas dengan keistimewaan sudo dan menukar kata laluan akar dengan kerap.

Apa yang perlu dilakukan jika anda terlupa kata laluan anda untuk log masuk ke centos Apa yang perlu dilakukan jika anda terlupa kata laluan anda untuk log masuk ke centos Apr 07, 2024 pm 07:33 PM

Penyelesaian untuk kata laluan CentOS yang terlupa termasuk: Mod pengguna tunggal: Masukkan mod pengguna tunggal dan tetapkan semula kata laluan menggunakan akar passwd. Mod Penyelamat: But dari CentOS Live CD/USB, lekapkan partition root dan tetapkan semula kata laluan. Akses jauh: Gunakan SSH untuk menyambung dari jauh dan menetapkan semula kata laluan dengan akar sudo passwd.

Petua penggunaan SCP-kecualikan fail secara rekursif Petua penggunaan SCP-kecualikan fail secara rekursif Apr 22, 2024 am 09:04 AM

Seseorang boleh menggunakan arahan scp untuk menyalin fail antara hos rangkaian dengan selamat. Ia menggunakan ssh untuk pemindahan data dan pengesahan. Sintaks biasa ialah: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp exclude files Saya rasa anda tidak boleh apabila menggunakan arahan scp Tapis atau kecualikan fail. Walau bagaimanapun, terdapat penyelesaian yang baik untuk mengecualikan fail dan menyalinnya dengan selamat menggunakan ssh. Halaman ini menerangkan cara menapis atau mengecualikan fail apabila menyalin direktori secara rekursif menggunakan scp. Cara menggunakan arahan rsync untuk mengecualikan fail Sintaksnya ialah: rsyncav-essh-

Apakah yang perlu saya lakukan jika saya terlupa nama pengguna dan kata laluan centos saya? Apakah yang perlu saya lakukan jika saya terlupa nama pengguna dan kata laluan centos saya? Apr 02, 2024 pm 08:54 PM

Selepas terlupa nama pengguna dan kata laluan CentOS anda, terdapat dua cara untuk memulihkan akses: Tetapkan semula kata laluan root: Mulakan semula pelayan, edit baris arahan kernel dalam menu GRUB, tambah "rw init=/sysroot/bin/sh" dan tekan Ctrl +x ;Lekapkan sistem fail akar dan tetapkan semula kata laluan dalam mod pengguna tunggal. Gunakan mod penyelamat: Mulakan pelayan daripada imej ISO pemasangan CentOS, pilih mod penyelamat lekapkan sistem fail akar, salin persekitaran chroot daripada imej ISO, tetapkan semula kata laluan, keluar dari persekitaran chroot dan mulakan semula pelayan.

Bagaimana untuk mendayakan kebenaran root dalam centos7 Bagaimana untuk mendayakan kebenaran root dalam centos7 Apr 07, 2024 pm 08:03 PM

CentOS 7 melumpuhkan kebenaran root secara lalai Anda boleh mendayakannya dengan mengikuti langkah berikut: Dayakan buat sementara waktu: Masukkan "su root" pada terminal dan masukkan kata laluan root. Didayakan secara kekal: Edit "/etc/ssh/sshd_config", tukar "PermitRootLogin no" kepada "yes", dan mulakan semula perkhidmatan SSH.

Apakah yang perlu saya lakukan jika saya terlupa kata laluan centos7 saya? Apakah yang perlu saya lakukan jika saya terlupa kata laluan centos7 saya? Apr 02, 2024 pm 08:51 PM

Tiga penyelesaian untuk kata laluan terlupa dalam CentOS 7: Mod pengguna tunggal: Mulakan semula sistem, edit pilihan kernel, tukar ro kepada rw init=/sysroot/bin/sh, dan gunakan arahan passwd untuk menetapkan semula kata laluan root. Mod penyelamat: But dari media pemasangan, pilih mod penyelamat, lekapkan sistem fail akar, chroot ke sistem fail akar, dan gunakan arahan passwd untuk menetapkan semula kata laluan root. Baris arahan Grub2: Mulakan semula sistem, tekan c untuk memasuki baris arahan, muatkan kernel, lekapkan sistem fail akar, chroot ke sistem fail akar dan gunakan arahan passwd untuk menetapkan semula kata laluan root.

See all articles