Linux 编译安装 PHP 8.1 开启 ZTS(线程安全)

本文介绍了如何在Ubuntu系统上编译安装PHP8.1并开启线程安全(ZTS)。首先下载PHP8.1安装包并解压,然后配置makefile,特别注意开启ZTS的选项。接着进行make安装,这一步可能需要较长时间。安装完成后,复制php.ini文件并创建php程序的软链接。最后通过php命令检查PHP版本和ZTS状态,确保安装成功。
摘要由CSDN通过智能技术生成

编译安装 PHP 8.1 开启 ZTS(线程安全)

主要是前几天在搞一个小东西的适合发现安装的 PHP 扩展需要开 ZTS,然后就得重新安装一遍了,所以写一下随便把编译安装的步骤也写下来,这份操作是在 Ubuntu 系统上完成的。

下载 PHP8.1 安装包并且解压

wget https://www.php.net/distributions/php-8.1.5.tar.gz
tar -zxvf php-8.1.5.tar.gz
cd php-8.1.5

这里就是先下载然后解压,进入到目录里面准备编译安装。

配置 makefile

./configure --prefix=/usr/local/php8.1 --with-config-file-path=/usr/local/php8.1 --with-config-file-scan-dir=/usr/local/php8.1/etc/php.d --enable-fastcgi --disable-fileinfo --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --enable-ftp --with-gd --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-pear --with-gettext --enable-calendar --with-openssl --with-mcrypt --enable-zts

这里就是配置一下你的 makefile 然后等下才能顺利安装,需要注意的是上面的指令是有开 ZTS 的,如果不需要开 ZTS 的话把 --enable-zts 删掉就行。如果这里卡住了通常都是一些包没有安装好或者太旧了,如果没安装的话可能需要百度一下看一下那个包的名字,太旧了的话建议就是运行这个指令之前先运行一次:

sudo apt-get upgrade

make 安装

sudo make && make install

这里就是需要最长时间等待的地方了,有时候会安装到一般然后断掉,需要详细判断原因,我安装的适合碰到的问题就是内存太小了,编译的适合跑光了,所以还得多加点 Swap 内存,详细可以看这篇文章

复制 php.ini 文件并且添加 php 程序档案软连接

cp ./php.ini-production /usr/local/php8.1/etc/php.ini
ln -s /usr/local/php8.1/bin/php /usr/bin/php

第一个指令就是复制我们的 php.ini 文件到指定的配置目录下面,第二个指令就是创建一个软连接把 php 的执行档案到我们的运行目录下,当然我们也可以通过添加 PATH 的形式实现,但是这里就不多说了。

检查 PHP 版本以及是否有开启 ZTS

php -v # 查看 PHP 版本
php -i | grep Thread

第一个就是检查 PHP 版本的指令,如果成功的话会看到下面的信息

PHP 8.1.5 (cli) (built: Apr 27 2022 09:11:27) (ZTS)
Copyright (c) The PHP Group
Zend Engine v4.1.5, Copyright (c) Zend Technologies

第二个就是查看是否有开启 ZTS 的,如果有的话会看到下面的信息

Thread Safety => enabled
Thread API => POSIX Threads

如果没有开启的话应该就是

Thread Safety => disabled

文章转载自:Yuis博客
原文链接:https://www.yuisblog.com/archives/186/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值