Loading... ```shell #! /bin/bash # 切换到安装包存放目录 cd /server/data/packages # 下载 PHP 源码包(如果需要) #wget https://www.php.net/distributions/php-8.3.0.tar.gz || exit 1 # 解压 PHP 源码包 tar -xzvf php-8.3.0.tar.gz || exit 1 sudo yum -y install cmake gcc g++ ncurses-devel libtirpc-devel rpcgen libxml2-devel sqlite-devel libpng-devel oniguruma-devel # 创建 PHP 安装目录和配置文件目录 mkdir -p /server/php/8.3.0/ mkdir -p /server/php/8.3.0/etc sudo yum install libcurl-devel # 切换到 PHP 源码目录 cd php-8.3.0 # 配置 PHP 安装选项 ./configure --prefix=/server/php/8.3.0/ --with-config-file-path=/server/php/8.3.0/etc --enable-fpm --with-gd --enable-gd-jis-conv --enable-mysqlnd --enable-mbstring --with-openssl --with-curl --with-zlib --with-pdo-mysql --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-sockets # 编译并安装 PHP make && make install || exit 1 # 创建 PHP 命令的软链接 # 目标软链接的路径 TARGET_LINK="/usr/local/bin/php" # PHP 命令的实际路径 PHP_COMMAND="/server/php/8.3.0/bin/php" # 检查软链接是否存在 if [ ! -e "$TARGET_LINK" ]; then # 如果不存在,则创建软链接 sudo ln -s "$PHP_COMMAND" "$TARGET_LINK" echo "软链接已创建: $TARGET_LINK -> $PHP_COMMAND" else echo "软链接已存在: $TARGET_LINK" fi # 复制 PHP 配置文件 cp /server/data/packages/php-8.3.0/php.ini-production /server/php/8.3.0/etc/php.ini # 启动 PHP-FPM find / -name "php-fpm.conf" -print | while read -r file; do cp -v "$file" /server/php/8.3.0/etc/ done #mv /server/php/8.3.0/etc/php-fpm.d/www.conf.default /server/php/8.3.0/etc/php-fpm.d/www.conf sudo /server/php/8.3.0/sbin/php-fpm # 检查 PHP-FPM 进程是否运行 ps -ef | grep php-fpm | grep -v grep php --ini # 检查 PHP 版本 php --version # 安装PECL cd /server/php/8.3.0/bin/ sudo wget http://pear.php.net/go-pear.phar -O go-pear.php sudo php go-pear.php sudo ./php go-pear.php # 搜索Swoole扩展 sudo ./pecl search swoole # 安装Swoole扩展 sudo ./pecl install swoole < /dev/null # 显示PHP配置文件路径 ./php --ini # 获取PHP配置文件路径 PHP_INI_PATH=$(./php --ini | grep "Loaded Configuration File" | awk -F: '{print $2}' | sed 's/ //g') # 检查是否已存在Swoole扩展的配置行 if ! grep -q "extension=swoole.so" "$PHP_INI_PATH"; then # 使用sed在php.ini文件的末尾添加Swoole扩展的配置行 sed -i '$a\extension=swoole.so' "$PHP_INI_PATH" echo "Swoole扩展已添加到$PHP_INI_PATH" else echo "Swoole扩展的配置已存在于$PHP_INI_PATH" fi echo "Swoole扩展安装和配置完成。" ``` 欢迎关注拓行公众号,分享各种技术博客文章拓行——奋勇进取,开拓未来,砥砺前行 最后修改:2024 年 06 月 18 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果您对各种技术博客文章感兴趣,欢迎关注拓行公众号,分享各种专业技术知识~