Inhaltsverzeichnis
Centos下升级php5.2到php5.4全记录(编译安装),php5.2php5.4
Heim Backend-Entwicklung PHP-Tutorial Centos下升级php5.2到php5.4全记录(编译安装),php5.2php5.4_PHP教程

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

Jul 13, 2016 am 09:58 AM
centos php5 php5.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了。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/978730.htmlTechArticleCentos下升级php5.2到php5.4全记录(编译安装),php5.2php5.4 升级 目前php最新版虽然是php5.5,但出于各种考虑,还是先升到php5.4比较靠谱。 原...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So geben Sie Chinesisch in Centos ein So geben Sie Chinesisch in Centos ein Apr 07, 2024 pm 08:21 PM

Zu den Methoden zur Verwendung chinesischer Eingaben in CentOS gehören: Verwenden der fcitx-Eingabemethode: Installieren und aktivieren Sie fcitx, legen Sie Tastenkombinationen fest, drücken Sie die Tastenkombinationen, um die Eingabemethoden zu wechseln, und geben Sie Pinyin ein, um Kandidatenwörter zu generieren. Verwenden Sie die iBus-Eingabemethode: Installieren und aktivieren Sie iBus, legen Sie Tastenkombinationen fest, drücken Sie die Tastenkombinationen, um die Eingabemethoden zu wechseln, und geben Sie Pinyin ein, um Kandidatenwörter zu generieren.

So lesen Sie USB-Festplattendateien in Centos7 So lesen Sie USB-Festplattendateien in Centos7 Apr 07, 2024 pm 08:18 PM

Um U-Disk-Dateien in CentOS 7 zu lesen, müssen Sie zuerst die U-Disk anschließen und ihren Gerätenamen bestätigen. Führen Sie dann die folgenden Schritte aus, um die Datei zu lesen: Mounten Sie das USB-Flash-Laufwerk: mount /dev/sdb1 /media/sdb1 (ersetzen Sie „/dev/sdb1“ durch den tatsächlichen Gerätenamen). Durchsuchen Sie die Datei des USB-Flash-Laufwerks: ls /media /sdb1; cd /media /sdb1/directory; cat-Dateiname

So geben Sie Root-Berechtigungen in Centos7 ein So geben Sie Root-Berechtigungen in Centos7 ein Apr 02, 2024 pm 08:57 PM

Es gibt zwei Möglichkeiten, die Root-Autorität von CentOS 7 einzugeben: Verwenden Sie den Befehl sudo: Geben Sie im Terminal sudo su - ein und geben Sie das aktuelle Benutzerkennwort ein. Melden Sie sich direkt als Root-Benutzer an: Wählen Sie auf dem Anmeldebildschirm „Andere“, geben Sie „root“ und das Root-Passwort ein. Hinweis: Gehen Sie vorsichtig mit Root-Rechten um, führen Sie Aufgaben mit Sudo-Rechten aus und ändern Sie das Root-Passwort regelmäßig.

Tipps zur SCP-Nutzung: Dateien rekursiv ausschließen Tipps zur SCP-Nutzung: Dateien rekursiv ausschließen Apr 22, 2024 am 09:04 AM

Mit dem Befehl scp können Dateien sicher zwischen Netzwerkhosts kopiert werden. Es verwendet SSH für die Datenübertragung und Authentifizierung. Die typische Syntax lautet: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp Dateien ausschließen. Ich glaube nicht, dass Sie das können, wenn Sie den scp-Befehl verwenden Dateien filtern oder ausschließen. Es gibt jedoch einen guten Workaround, die Datei auszuschließen und sie sicher per SSH zu kopieren. Auf dieser Seite wird erläutert, wie Sie Dateien filtern oder ausschließen, wenn Sie Verzeichnisse mit scp rekursiv kopieren. So verwenden Sie den Befehl rsync, um Dateien auszuschließen. Die Syntax lautet: rsyncav-essh-

Was tun, wenn Sie Ihr Passwort für die Anmeldung bei Centos vergessen haben? Was tun, wenn Sie Ihr Passwort für die Anmeldung bei Centos vergessen haben? Apr 07, 2024 pm 07:33 PM

Zu den Lösungen für vergessene CentOS-Passwörter gehören: Einzelbenutzermodus: Wechseln Sie in den Einzelbenutzermodus und setzen Sie das Passwort mit passwd root zurück. Rettungsmodus: Booten Sie von CentOS Live CD/USB, mounten Sie die Root-Partition und setzen Sie das Passwort zurück. Fernzugriff: Verwenden Sie SSH, um eine Fernverbindung herzustellen und das Kennwort mit sudo passwd root zurückzusetzen.

Was soll ich tun, wenn ich meinen Centos-Benutzernamen und mein Passwort vergesse? Was soll ich tun, wenn ich meinen Centos-Benutzernamen und mein Passwort vergesse? Apr 02, 2024 pm 08:54 PM

Nachdem Sie Ihren CentOS-Benutzernamen und Ihr Passwort vergessen haben, gibt es zwei Möglichkeiten, den Zugriff wiederherzustellen: Setzen Sie das Root-Passwort zurück: Starten Sie den Server neu, bearbeiten Sie die Kernel-Befehlszeile im GRUB-Menü, fügen Sie „rw init=/sysroot/bin/sh“ hinzu und drücken Sie Strg +x ;Mounten Sie das Root-Dateisystem und setzen Sie das Passwort im Einzelbenutzermodus zurück. Rettungsmodus verwenden: Starten Sie den Server vom CentOS-Installations-ISO-Image, wählen Sie den Rettungsmodus; mounten Sie das Root-Dateisystem, kopieren Sie die Chroot-Umgebung vom ISO-Image, setzen Sie das Passwort zurück, verlassen Sie die Chroot-Umgebung und starten Sie den Server neu.

So aktivieren Sie Root-Berechtigungen in Centos7 So aktivieren Sie Root-Berechtigungen in Centos7 Apr 07, 2024 pm 08:03 PM

CentOS 7 deaktiviert standardmäßig die Root-Berechtigungen. Sie können sie aktivieren, indem Sie die folgenden Schritte ausführen: Vorübergehend aktivieren: Geben Sie „su root“ auf dem Terminal ein und geben Sie das Root-Passwort ein. Dauerhaft aktiviert: Bearbeiten Sie „/etc/ssh/sshd_config“, ändern Sie „PermitRootLogin no“ in „yes“ und starten Sie den SSH-Dienst neu.

So geben Sie Root-Berechtigungen in Centos ein So geben Sie Root-Berechtigungen in Centos ein Apr 07, 2024 pm 08:06 PM

Es gibt zwei Möglichkeiten, Aufgaben mit Root-Rechten in CentOS auszuführen: 1) Verwenden Sie den Befehl sudo, um vorübergehend Root-Rechte zu erhalten. 2) Melden Sie sich direkt mit dem Root-Benutzerkennwort an. Bei der Verwendung von Root-Rechten ist äußerste Vorsicht geboten und es wird empfohlen, diese nur bei Bedarf zu verwenden.

See all articles