PHP

PHP

0.前言

  对于nginx和mysql的编译就告一段落了,今天的任务是完成PHP的编译安装

  

1.安装环境

  更新依赖包

1
yum –y update

  安装epel源

1
yum install -y epel-release

  安装php所需要的组件

1
yum install -y gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2 libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel

  下载对应5.6版本压缩包

1
2
wget http://cn2.php.net/distributions/php-5.6.40.tar.gz
tar -zxvf php-5.6.40.tar.gz

  创建用户、用户组

1
2
groupadd www
useradd -g www -s /sbin/nologin www

2.编译安装

  进入文件

1
cd php-5.6.40

  进行配置编译

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
./configure --prefix=/usr/local/php56 \
--with-config-file-path=/usr/local/php56/etc \
--enable-inline-optimization --disable-debug \
--disable-rpath --enable-shared --enable-opcache \
--enable-fpm --with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl=/opt/project/ssl \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl --with-zlib \
--enable-zip \
--with-bz2 \
--with-freetype-dir \
--with-readline \
--with-c \
--with-gd \
--with-jpeg-dir

  运行后出现报错

  这个错误通常是由于缺少libpng库或者版本不兼容导致的。可以尝试重新安装libpng库,或者更新到最新版本。很明显我是没有安装的,使用该指令进行安装(后面遇到了几个库的问题,都是按照命令执行按照就行了)

1
2
sudo yum install libpng-devel
sudo yum install freetype-devel

  最终编译成功,接下来就是安装命令

1
make && make install

  很好,又歇逼了,这个错误通常是由于缺少OpenSSL库或者版本不兼容导致的。这里是因为我安装的openssl版本是1.1。1,但是php5.不支持openssl1.1版本以上的情况,尝试重新安装低版本即可OpenSSL库, 参考了很多centos系统对openssl降级的操作和使用,用 openssl version 显示的版本却永远是1.1.1,openssh的旧版1.0.2也还是装不上,即使我把1.0.2装在新目录,openssh配置openssl的目录是新目录,读取1.1.1的openssl,真的是降不了一点(叹气.jpg)

  这里我换了个思路,就是下载旧版的openssl版本,通过–with-openssl=/opt/project/ssl \(将上文的相关编译配置也进行了修改),这样子调用到openssl环境的时候就直接使用旧版本即可,最后make&&make install

3.修改配置

  添加配置文件,添加开机自启动,启动php

1
2
3
4
5
6
7
8
9
10
11
#默认php.ini配置文件
cp /home/lfs/桌面/php-5.6.40/php.ini-development /usr/local/php56/etc/php.ini
# 默认php-fpm.conf配置文件
cp /home/lfs/桌面/php-5.6.40/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf
# 设置php开机自启动
cp /home/lfs/桌面/php-5.6.40/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
#启动php-fpm
service php-fpm start

  (这里是由于设置了汉语界面,所以lfs 的几个文件都变成了中文,但是安装的内容和运行的程序都在文件之外,会保证执行程序的时候不会有中文路径)

4.环境变量

  接下来添加环境变量

1
2
3
4
5
6
vi /etc/profile
#php56
PATH=$PATH:/usr/local/php56/bin
export PATH
#加载环境变量
soured /etc/profile

  最终使用php –v查看版本编译安装是否完成上图就是安装成功的结果。


PHP
https://one-null-pointer.github.io/2023/06/07/Linux运维——PHP/
Author
liaoyue
Posted on
June 7, 2023
传送口