Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung des Kompilierungs-, Installations- und Konfigurationsprozesses von php5.6.30 unter Linux (Bild und Text)

Ausführliche Erläuterung des Kompilierungs-, Installations- und Konfigurationsprozesses von php5.6.30 unter Linux (Bild und Text)

黄舟
黄舟Original
2017-03-23 09:41:525737Durchsuche

1. Kompilieren und installieren Sie php5.6.30

Installationsumgebung:

# cat /etc/redhat-release 
CentOS release 6.8 (Final)
# /application/nginx/sbin/nginx -v
nginx version: nginx/1.6.3

Laden Sie das PHP5.6.30-Installationspaket herunter

wget http://cn2.php.net/distributions/php-5.6.30.tar.bz2

Entpacken

tar -xjf php-5.6.30.tar.bz2

Installieren Sie die erforderlichen Abhängigkeitspakete

# rpm -qa zlib-devel libxm12-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel 
freetype-devel libpng-devel libpng-devel gd-devel libcurl-devel libxslt-devel
# yum install zlib-devel libxm12-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel 
freetype-devel libpng-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y

Installieren Sie die libiconv-Bibliothek

wget 
tar zxf libiconv-1.14.tar.gz 
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install

Starten Sie die Installation von PHP

[root@darius php-5.6.30]#./configure --prefix=/application/php5.6.30 
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 
--with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir
 --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop
  --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm
   --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash
    --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags
     --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --without-pear 
     --disable-phar
 
#因为本机没有pear包,所以选择暂时跳过(--without-pear --disable-phar),等php安装后再补装go-pear

Ausführliche Erläuterung des Kompilierungs-, Installations- und Konfigurationsprozesses von php5.6.30 unter Linux (Bild und Text)

make kompilieren

[root@darius php-5.6.30]# make
...
...
...
Build complete.
Don't forget to run 'make test'.
 
[root@darius php-5.6.30]# make test

Das Ergebnis des Make-Tests meldete einige Probleme, ich habe sie ignoriert und die Installation fortgesetzt

Ausführliche Erläuterung des Kompilierungs-, Installations- und Konfigurationsprozesses von php5.6.30 unter Linux (Bild und Text)

Make ausführen installieren

[root@darius php-5.6.30]# make install
Installing shared extensions:     /application/php5.6.30/lib/php/extensions/no-debug-non-zts-20131226/
Installing PHP CLI binary:        /application/php5.6.30/bin/
Installing PHP CLI man page:      /application/php5.6.30/php/man/man1/
Installing PHP FPM binary:        /application/php5.6.30/sbin/
Installing PHP FPM config:        /application/php5.6.30/etc/
Installing PHP FPM man page:      /application/php5.6.30/php/man/man8/
Installing PHP FPM status page:   /application/php5.6.30/php/php/fpm/
Installing PHP CGI binary:        /application/php5.6.30/bin/
Installing PHP CGI man page:      /application/php5.6.30/php/man/man1/
Installing build environment:     /application/php5.6.30/lib/php/build/
Installing header files:           /application/php5.6.30/include/php/
Installing helper programs:       /application/php5.6.30/bin/
  program: phpize
  program: php-config
Installing man pages:             /application/php5.6.30/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PDO headers:           /application/php5.6.30/include/php/ext/pdo/

2. PHP konfigurieren

cp php.ini-production /usr/local/php/etc/php.ini #复制php配置文件到安装目录rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php/etc/php.ini /etc/php.ini #添加软链接到 /etc目录
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

php-fpm.conf ändern

pid = run/php-fpm.pid  #取消前面的分号

php-ini.conf ändern

Suchen Sie nach: unlock_functions =

wird geändert in:

disable_functions = 
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,
disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,
posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,
posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,
posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,
posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

# Listen Sie die -Funktionen auf, die in PHP deaktiviert werden können. Wenn einige Programme diese Funktion verwenden müssen, ist dies der Fall kann gelöscht und deaktiviert werden.

Gefunden: ;date.timezone =

geändert zu:

date.timezone = PRC #设置时区

Gefunden: Exposure_php = On

geändert zu:

expose_php = Off #禁止显示php版本的信息

Suchen: short_open_tag = Aus

Ändern in:

short_open_tag = ON #支持php短标签

Hinweis: short_open_tag muss aktiviert sein. Nach dem Einschalten können Sie PHP verwenden Segment-Tags: () . Außerdem können Sie nur dann = anstelle von verwenden, wenn dies aktiviert ist. Einige Open-Source-Systeme verwenden kurze Tags. Wenn diese nicht aktiviert sind, wird ein Fehler gemeldet.
Find opcache.enable=0

Ändern in

Find:;opcache.enable_cli=1 #php unterstützt Opcode-Caching
opcache.enable=1 #php支持opcode缓存


Ändern in:

In der letzten Zeile hinzufügen:
opcache.enable_cli=0

:wq #Save
zend_extension=opcache.so #开启opcode缓存功能
Exit


Konfigurieren Sie nginx.conf

Erstellen Sie eine Testdatei:
location ~ \.php$ {
    root html/bbs;      #你网页根目录
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Starten Sie php-fpm, starten Sie nginx neu und testen Sie die Ergebnisse
[root@darius bbs]# cat index.php 
<?php phpinfo(); ?>
[root@darius bbs]# cat index.html 
bbs.html
[root@darius bbs]# pwd
/application/nginx/html/bbs

/application/php/sbin/php-fpm -c /application/php/etc/php.ini -y /application/php/etc/php-fpm.conf
/application/nginx/sbin/nginx -s reload

Ausführliche Erläuterung des Kompilierungs-, Installations- und Konfigurationsprozesses von php5.6.30 unter Linux (Bild und Text)

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Kompilierungs-, Installations- und Konfigurationsprozesses von php5.6.30 unter Linux (Bild und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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