PHP源码环境搭建(含Swoole、redis、gd相关扩展)

PHP环境搭建,含Swoole、redis、gd相关扩展


在当今的 Web 开发领域,拥有一个功能强大且配置完善的 PHP 开发环境是至关重要的。本文档将详细指导您搭建一个包含 Swoole、Redis 和 GD 相关扩展的 PHP 环境,助您在开发过程中如虎添翼。
无论是构建高性能的网络应用,还是处理图像相关的操作,又或是实现高效的数据缓存,Swoole、Redis 和 GD 扩展都能为您提供强大的支持。通过本指南,您将能够轻松地在自己的开发机器上搭建起这样一个环境,为后续的开发工作打下坚实的基础。

1. 注意事项

声明:

​ 1.1 文档基于CentOS7编写,其它系统相关依赖会有所不同;

​ 1.2 注意PHP依赖和扩展版本,不同版本的会出现兼容问题,最好和文档中的版本一致或者不超过一个大版本;

2. 安装依赖

1. Yum安装相关依赖
yum install libxml2-devel openssl-devel sqlite-devel sqlite-devel  libcurl-devel libicu-devel gcc-c++  libxslt-devel libpng-devel libjpeg-devel freetype-devel oniguruma oniguruma-devel libzip-devel autoconf -y

# 如果安装的系统,能通过yum安装成功 oniguruma oniguruma-devel libzip-devel 就无需编译安装
2. 安装libzip
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make -j 8 && make install 
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"


3. 安装oniguruma
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz 
tar -xvf oniguruma-6.9.4.tar.gz
 cd oniguruma-6.9.4/
./autogen.sh
./configure --prefix=/usr --libdir=/lib64  #64位的系统一定要标识  --libdir=/lib64 否则还是不行
make -j 8 && make install

3. 安装PHP

3.1 安装PHP

1. 解压
tar zxf php-7.4.33.tar.gz
cd php-7.4.33

2. 运行编译脚本
./configure --prefix=/usr/local/php74 --with-config-file-path=/usr/local/php74/etc --with-mhash  --with-openssl --with-curl --with-pear --with-mysqli --with-pdo_mysql --with-sqlite3  --with-zip --with-zlib --enable-bcmath --enable-ctype --enable-gd --enable-calendar --enable-fileinfo  --enable-json --enable-mbstring --enable-pdo  --enable-filter --enable-session --enable-simplexml  --enable-ftp --enable-sockets --with-gettext --enable-xml --enable-xmlreader  --enable-xmlwriter   --enable-pcntl --enable-fpm

3. 编译
make -j 8 # 注意 -j 根据自己的CPU核心数来
4. 安装
make install  -j 8

5. 移动文件
cp php.ini-development /usr/local/php74/etc/php.ini
cp /usr/local/php74/etc/php-fpm.conf.default /usr/local/php74/etc/php-fpm.conf
cp /usr/local/php74/etc/php-fpm.d/www.conf.default /usr/local/php74/etc/php-fpm.d/www.conf

6. 修改文件
vim /usr/local/php74/etc/php-fpm.conf
include=/usr/local/php74/etc/php-fpm.d/*.conf #修改include这一项,目录为www.conf所在目录

7. 修改环境变量
vim /etc/profile
#php
export PATH=$PATH:/usr/local/php74/bin

8. 让环境变量生效
source /etc/profile

8. 配置php-fpm
cp /opt/php-7.4.33/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start

9. 修改时区
vim /usr/local/php74/etc/php.ini 
date.timezone = "Asia/Shanghai"

3.2 安装扩展

  1. gd相关扩展:
1. 下载
wget http://www.ijg.org/files/jpegsrc.v9b.tar.gz 

2. 解压
tar -zxvf jpegsrc.v9b.tar.gz 
cd jpeg-9b

3. 编译
./configure --prefix=/usr/local/php74/lib/php/extensions/no-debug-non-zts-20190902/jpeg/ #配置jpeg--prefix=为安装路径可以自己定义
make  -j 8 && make install 
1. 和安装jpeg步骤一样
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.8.tar.gz
tar -zxvf freetype-2.8.tar.gz
cd freetype-2.8

./configure --prefix=/usr/local/php74/lib/php/extensions/no-debug-non-zts-20190902/freetype --enable-shared #需添加--enable-shared执行

make -j 8 && make install
1. 编译gd
cd /opt/php-7.4.33/ext/gd  #进入gd目录。如果没有configure使用phpize
# 如果之前安装过gd库需要先执行make clean清除残留的缓存,再gd文件夹下执行,如果安装过gd必须执行这一步

2. 生成编译脚本
phpize #报错安装:yum install autoconf

3. 编译
./configure --with-php-config=/usr/local/php74/bin/php-config --with-jpeg=/usr/local/php74/lib/php/extensions/no-debug-non-zts-20190902/jpeg  --with-freetype=/usr/local/php74/lib/php/extensions/no-debug-non-zts-20190902/freetype   #配置gd库因为zlib前面第一步已经执行编译安装了,所以这里不需要配置zlib,注意--with-php-config路径为php安装目录,其它两个是我们上面的安装时指定的目录‘

4. #编译安装
make -j 8 && make install
5. 重新编译php
cd /opt/php-7.4.33
make clean
./configure --prefix=/usr/local/php74 --with-config-file-path=/usr/local/php74/etc --with-mhash  --with-openssl --with-curl --with-pear --with-mysqli --with-pdo_mysql --with-sqlite3  --with-zip --with-zlib --enable-bcmath --enable-ctype --enable-gd  --with-jpeg --with-freetype  --enable-calendar --enable-fileinfo  --enable-json --enable-mbstring --enable-pdo  --enable-filter --enable-session --enable-simplexml  --enable-ftp --enable-sockets --with-gettext --enable-xml --enable-xmlreader  --enable-xmlwriter   --enable-pcntl --enable-fpm

make -j 8 && make install

/etc/init.d/php-fpm restart
  1. redis扩展
1. 解压
wget https://github.com/phpredis/phpredis/archive/refs/tags/5.3.7.tar.gz
tar -zxvf phpredis-5.3.7.tar.gz
cd phpredis-5.3.7

2. 生成编译脚本
phpize

3. 编译安装
./configure
make -j 8 && make install -j 8

4. 添加扩展
vim /usr/local/php74/etc/php.ini
;extension=xsl  #在这一行下面添加
extension=redis.so 

5. 重启php-fpm
/etc/init.d/php-fpm restart
  1. Swoole 扩展
1. 下载
wget https://codeload.github.com/swoole/swoole-src/tar.gz/refs/tags/v4.8.11

2. 编译
phpize
./configure --with-php-config=/usr/local/php74/bin/php-config --enable-openssl --enable-sockets
make -j 8 && make install -j 8

3. 
vim /usr/local/php74/etc/php.ini
extension=swoole.so
swoole.use_shortname='Off'

4. 重启php-fpm
/etc/init.d/php-fpm restart

4. 测试页面

4.1 将以下信息保存为一个index.php文件

<?php
// 输出 PHP 的配置信息
phpinfo();
?>

4.2 写入nginx配置,访问测试

vim /etc/nginx/conf.d/php_test.conf
	
	server {
    listen 6666;  #监听端口号
    server_name localhost;  #主机名或域名或ip
    root  /www; #网站根目录,根据index.php文件路径填写
    index index.php index.html;  #支持解析的文件类型
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;  #代理到本机的9000端口,解析php程序
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

#浏览器访问 http://IP:6666 进行查看
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值