1 GCC 和 G++ 安装

若 linux 没有安装 GCC(在编译 php 时会出错),可挂载 mount linux 镜像文件,rpm 安装。

1.1 有关查询命令

  • 查看 Linux 的版本
1
2
#cat /etc/issue
Welcome to SUSE Linux Enterprise Server 11SP1 (x86_64) - Kernel \r (\l).
  • 查看 Linux 的内核
1
2
#cat /proc/version
Linux version 2.6.32.12-0.7-default(geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSELinux) ) #1 SMP 2010-05-20 11:14:20 +0200

1.2 挂载 linux 原盘(需要 root 权限)

1.2.1 挂载 linux ISO 镜像文件

1
2
#mkdir  /mnt/iso
#mount -o loop -t iso9660 <iso file> /mnt/iso (linux的ISO文件预先ftp到系统)

1.2.2 插入光驱挂载

  • 查看 CDROM 设备名称(一般为 /dev/cdrom)

  • dmesg 显示开机信息

1
2
3
$ dmesg |egrep -i --color 'cdrom|dvd|cd/rw|writer'
[ 5.437164] sr0: scsi3-mmc drive: 24x/24x writerdvd-ram cd/rw xa/form2 cdda tray
[ 5.437307] cdrom: Uniform CD-ROM driverRevision: 3.20
  • less 查看有关文件命令
1
2
3
4
$ less /proc/sys/dev/cdrom/info
CD-ROMinformation, Id: cdrom.c 3.20 2003/12/17
drive name: sr0
drive speed: 24

执行: lsblk(列出所有块设备)

1
#lsblk
  • 挂载插入的光盘
1
2
# mkdir  /mnt/cdrom
# mount -t iso9660 /dev/cdrom /mnt/cdrom

(二)进入到安装位置:

1
#cd /mnt/iso/suse

1
#cd /mnt/cdrom/suse

1.3 安装依赖关系(64 位即可,无需安装 32 位)防锈 021

安装前分别在 noarch 目 cd 录和 x86_64 目录找到相应的文件名。如 #l glibc*

  • 安装 glibc-devel-2.9-13.2.x86_64.rpm
    –需要 linux-kernel-headers-2.6.27-2.22.noarch.rpm
  • 安装 gcc-4.3-62.198.x86_64.rpm
    –需要安装 gcc43-4.3.3_20081022-11.18.x86_64.rpm
  • 安装 glibc-devel-32bit-2.9-13.2.x86_64.rpm
  • 安装 gcc-32bit-4.3-62.198.x86_64.rpm
     –需要安装 gcc43-32bit-4.3.3_20081022-11.18.x86_64.rpm
     –需要安装 libgomp43-32bit-4.3.3_20081022-11.18.x86_64.rpm
  • 安装 libstdc++43-devel-4.3.3_20081022-11.18.x86_64.rpm
  • 安装 gcc-c++-4.3-62.198.x86_64.rpm
      –需要安装 gcc43-c++-4.3.3_20081022-11.18.x86_64.rpm
  • 安装 libstdc++43-devel-32bit-4.3.3_20081022-11.18.x86_64.rpm
  • 安装 libstdc++-devel-4.3-62.198.x86_64.rpm

1.3.1 安装安装 glibc-devel

1
2
rpm -ivh noarch/linux-kernel-headers-2.6.32-1.4.13.noarch.rpm
rpm -ivh x86_64/glibc-devel-2.11.1-0.17.4.x86_64.rpm

1.3.2 安装 gcc

1
2
rpm -ivh x86_64/gcc43-4.3.3_20081022-11.18.x86_64.rpm
rpm -ivh x86_64/gcc-4.3-62.198.x86_64.rpm

1.3.3 安装 g++

1
2
3
4
rpm -ivh x86_64/libstdc++43-devel-4.3.3_20081022-11.18.x86_64.rpm
rpm -ivh x86_64/libstdc++-devel-4.3-62.198.x86_64.rpm
rpm -ivh x86_64/gcc43-c++-4.3.3_20081022-11.18.x86_64.rpm
rpm -ivh x86_64/gcc-c++-4.3-62.198.x86_64.rpm

1.4 libxml2-2.7.6.tar.gz 安装

Linux 11 sp3 虽然安装了 libxml2.7.6,但没有生成 /usr/bin/xml2-config 文件,php5 安装时,configure 时显示找不到 xml2-config 错误而无法安装。可源码安装 libxml2 生成这个配置文件

1
2
3
4
5
#tar zxvf libxml2-2.7.6.tar.gz
#cd libxml2-2.7.6
#./configure
#make
#make install

2 php5 安装

  • 内网 spms 用户安装

2.1 下载并上传

下载 php-5.6.31.tar.gz,并上传的 Linux 目录 /home/spms

2.12 解压

1
2
$cd 
$tar -zvxf php-5.6.31.tar.gz

2.2 检查当前的环境是否满足要安装软件的依赖关系

1
2
$cd php-5.6.31
$./configure --prefix=/home/spms/php5 --with-config-file-path=/home/spms/php5/etc --enable-fpm

2.3 编译

1
2
$Make(时间较长)
$make install
  • (make clean make clean all 准备重新安装)

$cp /home/php-5.6.31/php.ini-production /homel/php5/etc/php.ini
上述安装方式在 php5 目录下不产生 php.ini,需要单独拷贝

$cp /homel/php5/etc/php-fpm.conf.default /homel/php5/etc/php-fpm.conf

保存配置文件后,检验配置是否正确的方法为:
/homel/php5/sbin/php-fpm -t
如果出现诸如 “test is successful” 字样,说明配置没有问题。
启动 php-fpm
启动脚本:/home/spms/ctrl_php-fpm.sh(要变成可执行权限,要指明 php.ini,否则上传文件大小限制无法指定。)
检测是否启动:
ps aux |grep php-fpm
netstat -ant |grep 9000

3 php7 安装

1. 安装依赖包

1
yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

suse linux 没有 yum 命令,其它方式安装依赖包

2. 下载或上传安装包

1
2
cd 
wget https://www.php.net/distributions/php-7.3.27.tar.gz

内网 linux 可外网下载,将 php-7.3.27.tar.gz 上传至 linux 的 /home 目录(/home/spms),

3. 解压

1
tar -zxvf php-7.3.27.tar.gz

4. 配置 PHP 安装环境

以下为能够安装的基本配置,网上很多参数的那种,要写 /usr/lib 等目录,非 root 用户没有权限,不能安装。需要配置其他功能室再查资料。

1
2
$cd php-7.3.27
$./configure --prefix=/home/spms/php7 --with-config-file-path=/home/spms/php7/etc --enable-fpm --enable-pdo --with-pdo-mysql --enable-mysqlnd --with-mysqli --with-openssl
1
./configure --prefix=/usr/local/php --with-zlib --enable-zip --with-openssl --enable-fpm --enable-mbstring --with-libdir=lib64

5. 编译安装

1
2
3
make clear #重新配置和编译时使用
make
make install

6. 参数配置 php.ini

在之前编译的源码包中,找到 php.ini-production,复制到 /home/spms/php7 下,并改名为 php.ini:

1
2
cd /home/spms/php-7.3.27
cp php.ini-production /home/spms/php7/etc/php.ini

php-fpm.conf

1
2
cd /home/spms/php7/etc
cp php-fpm.conf.default php-fpm.conf

www.conf

1
2
cd /home/spms/php7/etc/php-fpm.d
cp www.conf.default www.conf

修改 php7 端口号

1
2
vim /usr/local/php7/etc/php-fpm.d/www.conf
listen = 0.0.0.0:9000

7. 启动 php

/usr/local/php7/sbin/php-fpm

8.php 常用命令

查看是否已经开启

1
ps -ef|grep php
1
ps -A | grep -i php 

关闭 php-fpm 服务

1
pkill php-fpm

查看模块

1
spms@ZFQS:~/php7/bin> php -m