centos 7 编译安装php,php编译安装

大家好,今天来为大家解答centos 7 编译安装php这个问题的一些问题点,包括php编译安装也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

求大神指导Centos7 源码编译安装Nginx+PHP 配置动静分离

这个是我的服务的实际将配置Nginx实现动静分离,对php页面的请求转发给LAMP处理,而静态页面交给Nginx,以实现动静分离。客户请求静态数据给Nginx,Nginx直接应答客户端,当请求动态数据到Nginx时,Nginx让客户端去找LAMP,通过代理的方式,LAMP就和客户端连接了。分别配置动态分离和静态分离

(1)架设并调试后端LAMP架构,指定的域名,IP地址为xxxx,创建动态页面test.php。

(2)配置Nginx(xxxx)处理动态页面请求,并把域名改为 chaodiquan.com在server{};段中加入以下代码,检测语法后,重启Nginx

(3)客户端输入xxxx/test.php成功后动态分离就实现了,接下来再配置静态分离

(4)配置Nginx处理静态页面请求,在server{};中加入以下代码,检测语法后,重启Nginx

location~.*\.(gif|jpg|jpeg|bmp|swf)${#这段代码意思是任意网址以这5种格式为结尾就到Nginx根目录下的html文件夹寻找资源

root html;

expires 1d;#缓存一天}

(5)在nginx的html目录中,放入图片aa.jpg,然后在apache的动态测试页test.php中添加

<html>

<body>

<img src="aaaa/aa.jpg">

</body>

</html>

(6)客户端输入xxxx/test.php测试,由于test.php是动态页面,因此客户端会找到LAMP架构中的Apache,然后调取图片aa.jpg是静态数据,所以从Nginx提取,最后反馈给客户端。这个是

centos7安装php8,实现php7和php8同时运行

在 CentOS7系统上安装 PHP8,实现与原有 PHP7并存运行的过程,确保系统稳定与程序兼容性。安装步骤如下:

1.进入目录,下载 PHP8.1.25源码。

2.解压源码,准备编译环境。

3.进入解压目录,启动编译过程。

在配置过程中遇到错误,通过先执行特定命令解决,完成编译。

经过一系列配置,最终完成 PHP8的安装。

4.配置 PHP-FPM服务。

5.使用 systemctl启动 PHP-FPM服务,并修改服务文件为 php8-fpm。

创建 php8-fpm.service文件于目录/usr/lib/systemd/system/。

配置文件内容并保存,运行命令启动服务。

6.在 php-fpm.conf中进行其他相关配置。

在网站 vhost配置中,如 nginx配置中,基于两种方式监听:基于 unix socket或基于 tcp。

基于 unix socket通信方式,设置 listen=/dev/shm/php8-cgi.sock,配置 fastcgi_pass unix:/dev/shm/php8-cgi.sock,实现应用层内部通信,速度较快。

基于 tcp监听方式,设置 listen= 127.0.0.1:9008,配置 fastcgi_pass 127.0.0.1:9008,端口需与 nginx配置相匹配。

7.启动 php8-fpm服务,重新运行 nginx,实现通信。

8.添加快捷方式到/usr/bin中,生成别名为 php8的快捷方式,便于使用。

9.添加对两种监听方式的说明与对比:

unix socket监听方式:优点在于速度快、资源消耗少;缺点为稳定性较低,存在数据传输问题。适合在同一台机器上的 nginx和 php-fpm服务。

tcp监听方式:优点为能保证数据的正确性,适合跨服务器场景;缺点为性能不如 unix socket。

通过上述步骤,成功在 CentOS7上安装并配置 PHP8,实现了与 PHP7的并存运行,满足了不同场景下的使用需求。

Centos7如何安装PHP7最新版

方法一、简单安装(通过yum)

1.安装epel-release

rpm-ivh

2.安装PHP7的rpm源

rpm-Uvh

3.安装PHP7

yum install php70w

方法二、编译安装

1.下载php7

wget-O php7.tar.gz

2.解压php7

tar-xvf php7.tar.gz

3.进入php目录

cd php-7.0.4

4.安装依赖包

#直接复制下面一行(不包括本行)

yum install 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

5.编译配置(如果出现错误,基本都是上一步的依赖文件没有安装所致)

嫌麻烦的可以从这一步起参考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

6.正式安装

make make install

7.配置环境变量

vi/etc/profile

在末尾追加

PATH=$PATH:/usr/local/php/bin

export PATH

执行命令使得改动立即生效

source/etc/profile

8.配置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

9.启动php-fpm

/etc/init.d/php-fpm start

阅读剩余
THE END