PHP¶
PHP8.4¶
安装必要的依赖项
apt update
apt install build-essential autoconf bison re2c libxml2-dev libldap2-dev libedit-dev libcurl4-openssl-dev libpng-dev libonig-dev libsqlite3-dev libssl-dev libpspell-dev aspell aspell-en libzip-dev libicu-dev libreadline-dev libfreetype6-dev libgmp-dev libgd-dev libexif-dev libgettextpo-dev libffi-dev libpq-dev libmemcached-dev libmagickwand-dev libxslt-dev libzip-dev graphicsmagick -y
下载PHP源代码
wget https://www.php.net/distributions/php-8.4.15.tar.gz && tar -xzf php-8.4.15.tar.gz && cd php-8.4.15
配置PHP
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/php.d \
--enable-mbstring \
--enable-bcmath \
--enable-pcntl \
--enable-ftp \
--enable-exif \
--enable-calendar \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-curl \
--with-iconv \
--with-gmp \
--enable-gd \
--with-webp \
--enable-intl \
--with-jpeg \
--with-xpm \
--with-freetype \
--with-openssl \
--with-pdo-mysql \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext=/usr \
--with-xsl \
--with-ldap \
--with-ldap-sasl \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-libdir=/lib/x86_64-linux-gnu \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-sockets \
--enable-soap \
--enable-opcache \
--enable-fileinfo \
--with-sqlite3 \
--with-pdo-sqlite \
--with-zip \
--with-libedit \
--with-readline \
--with-zlib
编译
# make -j 1 && make install
make -j $(nproc) && make install
安装其他组件
# 安装PECL
wget https://pear.php.net/go-pear.phar
php go-pear.phar
#升级
pecl channel-update pecl.php.net
pecl list-upgrades
pecl upgrade 扩展名
pecl upgrade-all
#安装 ImageMagick:首先安装 ImageMagick 库。这可以通过以下命令完成:
apt-get install imagemagick -y
#安装 ImageMagick 的 PHP 扩展依赖:您需要安装 PHP 的 ImageMagick 扩展(即 imagick)的依赖项:
#apt-get install php-imagick libmagickwand-dev
#使用 PECL 安装 imagick 扩展:
pecl install imagick
#配置 PHP 以使用 imagick 扩展:安装完成后,在您的 php.ini 文件中添加以下行以启用扩展:
extension=imagick.so
#安装 Memcached 服务器:首先,安装 Memcached:
apt-get install memcached -y
#安装 Memcached 的 PHP 扩展依赖:然后安装 PHP 的 Memcached 扩展的依赖项:
#apt-get install php-memcached libmemcached-dev
#使用 PECL 安装 Memcached 扩展:
pecl uninstall memcached
pecl install memcached
#配置 PHP 以使用 Memcached 扩展:在 php.ini 文件中添加以下行来启用 Memcached 扩展:
extension=memcached.so
apt install redis-server -y
pecl uninstall redis
pecl install redis
pecl install zip
pecl uninstall imagick
pecl install imagick
pecl install pspell
#pspell 擴展添加到 php.ini
extension=pspell.so
配置环境变量
nano ~/.bashrc
# 在文件末尾添加以下行
export PATH=$PATH:/usr/local/php/bin
# 保存并关闭文件。
# 更新~/.bashrc文件,使更改生效:
source ~/.bashrc
# 验证
php -v
nano /etc/systemd/system/php-fpm.service
# php-fpm.service内容
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target
[Service]
Type=simple
PIDFile=/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
# 配置php-fpm.service
systemctl daemon-reload
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl status php-fpm.service
systemctl restart php-fpm.service
遇到问题¶
php8.4 无法通过pecl安装imagick¶
wget -O imagick.tar.gz https://github.com/Imagick/imagick/archive/7088edc353f53c4bc644573a79cdcd67a726ae16.tar.gz
tar -xzf imagick.tar.gz
cd imagick
phpize
./configure
make && make install
#添加并启动扩展 echo "extension=imagick.so" > /usr/local/etc/php/conf.d/ext-imagick.ini