linux centos7安装php
创始人
2024-06-02 23:58:03
0

安装PHP

第一步,添加 epel 源。

# 在centos7系统上进行操作

命令:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm7

第二步,安装编译工具及库文件。

# 在centos7系统上进行操作

命令:

yum install bzip2 bzip2-devel bisonbison-devel cmake curl curl-devel e2fsprogs e2fsprogs-devel epel-releasefreetype freetype-devel gcc gcc-c++ glibc glibc-devel glib2 glib2-devel gmpgmp-devel krb5 krb5-devel libmcrypt libmcrypt-devel libxslt libxslt-devellibcurl libcurl-devel libedit-devel libjpeg libjpeg-devel libpng libpng-devellibxml2 libxml2-devel libidn libidn-devel libzip-devel mcrypt mhash-develncurses ncurses-devel openssl openssl-devel openssl-develsqlite-devel readlinereadline-devel sqlite-devel uuid libuuid-devel zlib zlib-devel

第三步,下载php-5.6.36。

下载网址:PHP: Releases

下载命令:wget https://www.php.net/releases/php-5.6.36.tar.gz

linux 目录: /usr/local/src

注:如果使用wget直接下载不成功,就下载到window上,然后使用sftp上传到linux上

第四步,解压及编译安装php-5.6.36。

1、解压php-5.6.36.tar.gz

目录:/usr/local/src

命令:

tar zxvf php-5.6.36.tar.gz

2、配置php

# 进入解压后的文件夹 /usr/local/src/php-5.6.36

命令:

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-fpm \
--with-openssl \
--with-mcrypt \
--enable-mbstring \
--enable-pdo \
--with-curl \
--disable-debug  \
--disable-rpath \
--enable-inline-optimization \
--with-bz2  \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-pdo-mysql \
--with-mysqli \
--with-gd \
--with-jpeg-dir \
--with-freetype-dir \
--enable-calendar

若结果显示“Thankyou for using PHP.”,则说明PHP配置成功。

3、编译安装php

目录: /usr/local/src/php-5.6.36

make需要花费较长时间(可能需要几分钟到十几分钟),需要耐心等待一会

命令:

make && make install

若结果显示“Build complete. Don't forget to run'make test'.”,则说明PHP编译安装成功。

4、make test 测试

make test

make test 也许要一些时间,需要耐心等待一会

第五步,查看环境变量和php版本。

命令:

/usr/local/php/sbin/php-fpm -v

结果:

PHP 5.6.36 (fpm-fcgi) (built: Mar 13 2023 11:34:24)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

第六步,配置php-fpm。

进入目录:cd /usr/local/src/php-5.6.36/

执行命令:

cp php.ini-production /etc/php.ini
cp php.ini-production /usr/local/php/etc/php.ini
cd /usr/local/php/etc/
cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

第七步,编辑php-fpm.conf和php.ini文件。

1、编辑php-fpm.conf文件,

vim /usr/local/php/etc/php-fpm.conf
  1. 去掉pid前面的分号

  1. 配置pid

将 pid = run/php-fpm.pid
修改成pid = /usr/local/php/var/run/php-fpm.pid

  1. 编辑/usr/local/php/etc/php.ini和/etc/php.ini文件

配置

vim /usr/local/php/etc/php.ini

vim /etc/php.ini

max_execution_time = 0
max_input_time = 600
post_max_size = 200M
upload_max_filesize = 200M
date.timezone = PRC
date.timezone 取消前面的分号

第八步,设置php-fpm开机启动。

1、复制init.d.php-fpm到/etc/init.d/php-fpm

cd /usr/local/src/php-5.6.36/sapi/fpm/
cp init.d.php-fpm /etc/init.d/php-fpm

2、为php-fpm添加执行权限

chmod +x /etc/init.d/php-fpm

3、设置开机启动

chkconfig php-fpm on

第九步,配置nginx支持php。

1、编辑nginx.conf

vim /etc/nginx/nginx.conf文件,做出如下修改:

server {listen       80;server_name  localhost;location / {# 修改html路径root   /usr/local/nginx/html;# 添加index.phpindex  index.html index.htm index.php;}location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;# 修改html路径 fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/$fastcgi_script_name;include        fastcgi_params;}
}

注意标红的部分:

# 添加index.php

index index.html index.htm index.php;

2、重启nginx

/usr/local/nginx/sbin/nginx -s reload

第十步,启动php-fpm。

  1. 启动php-fpm

进入目录: cd /usr/local/php/sbin/

service php-fpm start

启动命令:service php-fpm start

或 /etc/init.d/php-fpm start

若结果显示

ERROR: [pool www] cannot get uid for user 'nginx'

[13-Mar-2023 14:07:02] ERROR: FPM initialization failed

failed

则需要使用命令“useradd nginx”添加用户nginx。

然后重新启动php-fpm。

看到如下字样即成功:

Starting php-fpm done

2、关闭php-fpm

service php-fpm stop

或 /etc/init.d/php-fpm stop

3、 重启php-fpm

service php-fpm restart

或 /etc/init.d/php-fpm restart

第十一步,查看php-fpm是否启动成功。

命令:lsof -i:9000

lsof -i:80

看到如上信息即表示成功

第十二步,在/usr/local/nginx/html下创建phpinfo.php文件。

1、在/usr/share/nginx/html/phpinfo.php中写入下面的代码:


2、访问http://x.x.x.x/phpinfo.php

若页面出现“PHP Version 5.6.36”等信息,则说明PHP配置成功。

第十三步,测试PHP和MySQL关联。

  1. 在文件夹/usr/local/nginx/html中新建test.php脚本,

向该脚本中写入PHP测试连接数据库的代码,代码如下:

2、访问http://x.x.x.x/test.php

即可进行访问测试。

如果可以看到如下字样即表是成功:

php可以连接MySQL...

相关内容

热门资讯

122.(leaflet篇)l... 听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
Vue使用pdf-lib为文件... 之前也写过两篇预览pdf的,但是没有加水印,这是链接:Vu...
PyQt5数据库开发1 4.1... 文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
Linux基础命令大全(上) ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维...
再谈解决“因为文件包含病毒或潜... 前面出了一篇博文专门来解决“因为文件包含病毒或潜在的垃圾软件”的问题,其中第二种方法有...
南京邮电大学通达学院2023c... 题目展示 一.问题描述 实验题目1 定义一个学生类,其中包括如下内容: (1)私有数据成员 ①年龄 ...
PageObject 六大原则 PageObject六大原则: 1.封装服务的方法 2.不要暴露页面的细节 3.通过r...
【Linux网络编程】01:S... Socket多进程 OVERVIEWSocket多进程1.Server2.Client3.bug&...
数据结构刷题(二十五):122... 1.122. 买卖股票的最佳时机 II思路:贪心。把利润分解为每天为单位的维度,然后收...
浏览器事件循环 事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间࿰...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
计算机二级Python备考(2... 目录  一、选择题 1.在Python语言中: 2.知识点 二、基本操作题 1. j...
端电压 相电压 线电压 记得刚接触矢量控制的时候,拿到板子,就赶紧去测各种波形,结...
如何使用Python检测和识别... 车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计...
带环链表详解 目录 一、什么是环形链表 二、判断是否为环形链表 2.1 具体题目 2.2 具体思路 2.3 思路的...
【C语言进阶:刨根究底字符串函... 本节重点内容: 深入理解strcpy函数的使用学会strcpy函数的模拟实现⚡strc...
Django web开发(一)... 文章目录前端开发1.快速开发网站2.标签2.1 编码2.2 title2.3 标题2.4 div和s...