LiNUX安装PHP7.X
PHP版本:7.2.12
下载地址:http://cn2.php.net/get/php-7.2.12.tar.bz2/from/this/mirror
推荐(免费):PHP7
安装前准备,避免在安装PHP依赖包时报错:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
添加 epel 源
centos 7.x
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
此处我将PHP 下载到 /usr/local 下,进入此目录下
tar -zxvf php7.2.12tar.gz
进入目录
cd php-7.2.12
安装PHP依赖包
yum install gcc libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
如果依赖包安装好,就将以下整段复制编译,PHP目录到 /usr/local/php;
./configure \ --prefix=/usr/local/php \ --with-config-file-path=/etc \ --enable-fpm \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-soap \ --with-libxml-dir \ --with-xmlrpc \ --with-openssl \ --with-mcrypt \ --with-mhash \ --with-pcre-regex \ --with-sqlite3 \ --with-zlib \ --enable-bcmath \ --with-iconv \ --with-bz2 \ --enable-calendar \ --with-curl \ --with-cdb \ --enable-dom \ --enable-exif \ --enable-fileinfo \ --enable-filter \ --with-pcre-dir \ --enable-ftp \ --with-gd \ --with-openssl-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-gettext \ --with-gmp \ --with-mhash \ --enable-json \ --enable-mbstring \ --enable-mbregex \ --enable-mbregex-backtrack \ --with-libmbfl \ --with-onig \ --enable-pdo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-zlib-dir \ --with-pdo-sqlite \ --with-readline \ --enable-session \ --enable-shmop \ --enable-simplexml \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-libxml-dir \ --with-xsl \ --enable-zip \ --enable-mysqlnd-compression-support \ --with-pear \ --enable-opcache
编译并安装:
make && make install
编译完成之后,我们添加PHP命令到环境变量里
vim /etc/profile
在文件末尾加入:
PATH=$PATH:/usr/local/php/bin export PATH
要使改动立即生效执行
source /etc/profile
查看PHP 版本
php -v
这时候,nginx还是不支持php的,它需要php-fpm来处理两者的依赖关系,所以我们要胚子php-fpm
cp php.ini-production /etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm
启动php-fpm
/etc/init.d/php-fpm start
nginx和php-fpm整合
编辑/usr/local/nginx/nginx.conf
修改如下:
红框中 “#”号去掉
添加红框中内容
修改内容,如下(找到如下开头内容)
这里我将配置文件换到我自定义的文件中去,不做以上修改;
只在文件末尾加入
client_max_body_size 200m; include vhosts/*.conf;
创建文件夹,并创建编辑 app.conf 文件
mkdir vhosts vim app.conf
编辑内容:
server { listen 80; server_name 39.105.186.95 vv.vv.com; index index.php index.html; root /home/html/angel; location ~ .*\.(php|php7)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.html; include /usr/local/nginx/conf/fastcgi.conf; client_max_body_size 1000m; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 7d; } location ~ .*\.(js|css)?$ { expires 1h; } if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; } }
更多相关免费学习推荐:PHP7教程
The above is the detailed content of Detailed explanation of LiNUX installation of PHP7.X. For more information, please follow other related articles on the PHP Chinese website!