Rumah > pembangunan bahagian belakang > tutorial php > 详解linux下编译安装配置php5.6.30过程(图文)

详解linux下编译安装配置php5.6.30过程(图文)

黄舟
Lepaskan: 2023-03-06 20:48:01
asal
5870 orang telah melayarinya

一、编译安装php5.6.30

安装环境:

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

下载php5.6.30安装包

wget http://cn2.php.net/distributions/php-5.6.30.tar.bz2
Salin selepas log masuk

解压

tar -xjf php-5.6.30.tar.bz2
Salin selepas log masuk

安装所需依赖包

# 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
Salin selepas log masuk

安装libiconv库

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

开始安装 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
Salin selepas log masuk

123.jpg

make 编译

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

make test的结果报了一些问题,我没有理会,继续安装了

1265.jpg

执行make install

[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/
Salin selepas log masuk

二、配置php

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目录
Salin selepas log masuk

修改php-fpm.conf

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

修改php-ini.conf

找到:disable_functions=

修改为:

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
Salin selepas log masuk

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:

date.timezone = PRC #设置时区
Salin selepas log masuk

找到:expose_php = On

修改为:

expose_php = Off #禁止显示php版本的信息
Salin selepas log masuk

找到:short_open_tag = Off

修改为:

short_open_tag = ON #支持php短标签
Salin selepas log masuk

注意:short_open_tag 必须打开.开启以后可以使用PHP的段标签:()。同时,只有开启这个才可以使用 echo 。有一些开源系统里会使用短标签,如果不打开的话会报错。

找到opcache.enable=0

修改为

opcache.enable=1 #php支持opcode缓存
Salin selepas log masuk

找到:;opcache.enable_cli=1 #php支持opcode缓存

修改为:

opcache.enable_cli=0
Salin selepas log masuk

在最后一行添加:

zend_extension=opcache.so #开启opcode缓存功能
Salin selepas log masuk

:wq #保存退出

配置nginx.conf

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;
}
Salin selepas log masuk

创建测试文件:

[root@darius bbs]# cat index.php 
<?php phpinfo(); ?>
[root@darius bbs]# cat index.html 
bbs.html
[root@darius bbs]# pwd
/application/nginx/html/bbs
Salin selepas log masuk

启动php-fpm,重启nginx,并测试结果

/application/php/sbin/php-fpm -c /application/php/etc/php.ini -y /application/php/etc/php-fpm.conf
Salin selepas log masuk
/application/nginx/sbin/nginx -s reload
Salin selepas log masuk

   1266.jpg

1267.jpg

Atas ialah kandungan terperinci 详解linux下编译安装配置php5.6.30过程(图文). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan