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. 下载
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. 解压
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. 下载
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 进行查看