系列-PHP+Linux服务器环境搭建:PHP、扩展、composer安装

目录

Linux 环境基础安装
Nginx、Redis、Mysql安装
PHP、扩展、composer安装
进程管理工具Supervisor安装
Git、版本管理软件Gogs安装
Laravel项目的相关配置

安装libzip

php7.3开始要求系统libzip的version >= 0.11, 但是目前通过 yum -y install libzip-devel 安装的是0.10的版本, 官方版本从1.4.0开始要依赖cmake安装,对cmake的版本还有要求,下面介绍三种安装方式:

1.yum安装(推荐)

# 卸载原有低版本的libzip包
sudo yum -y remove libzip libzip-devel
# 重新安装看看版本是否符合要求
sudo yum -y install libzip libzip-devel
# 否则添加wlnmp源
sudo rpm -ivh https://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
# 安装libzip包,当前wlnmp提供的libzip包版本1.8.0
sudo yum install wlibzip

2. 不需要安装cmake(次推荐)

# 装1.3.2的版本,不需要安装cmake
cd /home/www/soft_download
sudo yum -y remove libzip-devel libzip
wget -c https://libzip.org/download/libzip-1.3.2.tar.gz
tar -zxvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
sudo make -j 4
sudo make install

3. 编译安装

编译安装 CMake 3.16.2

cd /home/www/soft_download
sudo yum -y remove libzip-devel libzip
wget https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2.tar.gz
tar -zxvf cmake-3.16.2.tar.gz
cd cmake-3.16.2
./bootstrap --prefix=/usr/local/cmake --datadir=/usr/local/cmake-data --docdir=/usr/local/cmake-doc
sudo make
sudo make install
sudo ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
cmake --version

编译安装 libzip 1.8.0

sudo yum install -y openssl-devel bzip2 bzip2-devel
cd /home/www/soft_download
wget --no-check-certificate https://libzip.org/download/libzip-1.8.0.tar.gz
tar -zxvf libzip-1.8.0.tar.gz
cd libzip-1.8.0
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/cmake
sudo make
sudo make install

配置

# 查看系统当前环境变量(用于扩展pkg-config的搜索路径)
echo $PKG_CONFIG_PATH
# 临时修改配置
export PKG_CONFIG_PATH="/usr/local/cmake/lib64/pkgconfig":$PKG_CONFIG_PATH
# 永久修改配置
vim /etc/profile # 如果只修改当前用户的环境变量则是`vim ~/.bashrc`
    export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/cmake/lib64/pkgconfig
# 立刻生效
source /etc/profile
# 检查
pkg-config --list-all|grep libzip

安装PHP8.2

cd /home/www/soft_download
wget -c https://www.php.net/distributions/php-8.2.6.tar.gz
tar -zxvf php-8.2.6.tar.gz
cd php-8.2.6

sudo ./configure --prefix=/usr/local/php \
 --with-config-file-path=/etc \
 --with-config-file-scan-dir="/etc/php.d" \
 --with-curl \
 --with-mhash \
 --with-gettext \
 --with-iconv-dir \
 --with-kerberos \
 --with-libdir=lib64 \
 --with-mysqli \
 --with-openssl \
 --with-sodium \
 --with-pdo-mysql \
 --with-pdo-sqlite \
 --with-pear \
 --with-xmlrpc \
 --with-xsl \
 --with-zlib \
 --with-zlib-dir \
 --with-fpm-user=www \
 --with-fpm-group=www \
 --enable-fpm \
 --enable-gd \
 --with-external-gd \
 --with-webp \
 --with-jpeg \
 --with-xpm \
 --with-freetype \
 --with-zip \
 --enable-gd-jis-conv \
 --enable-bcmath \
 --enable-inline-optimization \
 --enable-mbregex \
 --enable-mbstring \
 --enable-opcache \
 --enable-pcntl \
 --enable-posix \
 --enable-shmop \
 --enable-soap \
 --enable-sockets \
 --enable-sysvsem \
 --enable-xml
 
sudo make
sudo make install
sudo ln -s /usr/local/php/bin/php /usr/bin/php
sudo ln -s /usr/local/php/bin/phpize /usr/bin/phpize
sudo ln -s /usr/local/php/sbin/php-fpm /usr/bin/php-fpm
sudo cp /home/www/soft_download/php-8.2.6/php.ini-production /etc/php.ini
sudo chown -R www:www /usr/local/php
sudo chown www:www /etc/php.ini

sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

# 修改www.conf
> sudo vim /usr/local/php/etc/php-fpm.d/www.conf
    user = www
    group = www
    php_flag[display_errors] = off
	php_admin_value[error_log] = /home/www/logs/php_fpm_error.log
	php_admin_flag[log_errors] = on

安装PHP扩展

安装pecl

cd /usr/local/php/bin/
wget -c http://pear.php.net/go-pear.phar
# 安装
sudo ./php go-pear.phar

# 创建目录
sudo mkdir /etc/php.d

用pecl安装扩展

sudo /usr/local/php/bin/pecl install redis
sudo sh -c 'echo "extension=redis.so" > /etc/php.d/ext-redis.ini'

sudo /usr/local/php/bin/pecl install imagick 
sudo sh -c 'echo "extension=imagick.so" > /etc/php.d/ext-imagick.ini'

启动php-fpm

# 启动PHP-FPM服务:
> sudo systemctl start php-fpm # 或  sudo php-fpm
# 停止PHP-FPM服务:
> sudo systemctl stop php-fpm # 或  sudo pkill php-fpm

配置

vim /etc/php.ini

;;;;;;;; 修改以下内容
; 安全相关
allow_url_include = Off  ## 是否允许通过include/require来执行一个远程文件
expose_php = Off       ## 是否在HTTP响应头里显示PHP版本号
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo,popepassthru,openlog,syslog,readlink,symlink,eval,chroot,scandir,chgrp,chown,ini_alter,ini_restore,dl
; 这几个屏蔽了发不了邮件 pfsockopen,stream_socket_server,fsocket,fsockopen

; 错误相关
display_startup_errors =Off  
display_errors = Off  ##不显示错误
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
log_errors=On
error_log=/home/www/logs/php_error.log

; 资源限制的参数
max_execution_time = 30  ## 一个脚本最大允许执行时间, 0表示没有限制
memory_limit = 128M      ## 一个脚本能够申请到的最大内存字节数
max_input_time = 60      ## 一个脚本解析输入数据(GET,POST,Upload)的最大允许时间
upload_max_filesize = 8M ## 上传文件允许的最大filesize

; session配置
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379?auth=authpwd"

; 性能优化(实测开启opcache后性能可提升1倍)
[opcache]
; 加载opcache扩展
zend_extension="opcache.so"
; 启用opcache
opcache.enable=1
; opcache的共享内存大小,以兆字节为单位
opcache.memory_consumption=128
; 用来存储预留字符串的内存大小,以兆字节为单位。
opcache.interned_strings_buffer=8
; opcache哈希表中可存储的脚本文件数量上限。
opcache.max_accelerated_files=4000
; opcache不保存注释,减少opcode大小
opcache.save_comments=0

安装composer

# 安装方式1
cd /home/www/soft_download
wget -c https://getcomposer.org/download/2.7.4/composer.phar
sudo mv composer.phar /usr/bin/composer
sudo chown www:www /usr/bin/composer
sudo chmod +x /usr/bin/composer


# 修改镜像(很多国内镜像已经不可用了)
composer config -l -g  # 查看全局配置
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/   # 阿里镜像
composer config -g --unset repos.packagist                         # 重置为官方源地址
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxddt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值