分享在 linux 上编译安装PHP8.3
一、安装相关依赖
sudo apt-get install gcc g++ libxml2-dev pkg-config libkrb5-dev libssl-dev libsqlite3-dev zlib1g-dev libbz2-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libfreetype-dev libonig-dev libxslt-dev libzip-dev autoconf -y
二、开始编译,建议在make的时候使用 -j 参数,可以根据你的 CPU 线程数填写,可以加快编译速度
./configure --prefix=/usr/local/php8_3 --with-config-file-path=/usr/local/php8_3/etc --with-curl --with-freetype --enable-gd --with-jpeg --with-gettext --with-kerberos --with-libdir=lib64 --with-libxml --with-mysqli --with-openssl --with-pdo-mysql --with-pdo-sqlite --with-pear --enable-sockets --with-mhash --with-ldap-sasl --with-xsl --with-zlib --with-zip -with-bz2 --with-iconv --enable-fpm --enable-pdo --enable-ftp --enable-bcmath --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-sysvsem --enable-cli --enable-opcache --enable-intl --enable-calendar --enable-static --enable-mysqlnd
如果没有报错,就可以执行下面的命令了。如果有报错,一般就是缺少相关依赖,请先安装依赖,然后再重新执行 configure
sudo make -j 线程数 && sudo make install
三、修改环境变量
如果你当前登录的用户不是root(如果是root用户,则无需修改该步骤,直接修改 ~/.bashrc 即可),请先修改 visudo ,否则在 sudo 下运行 php 命令会提示找不到
sudo visudo
找到 default 最长的,在后面加上 :/usr/local/php8_3/bin ,然后按 ctrl+o 保存,ctrl+x退出即可。
然后修改 ~/.bashrc 用户环境变量,在最后面加入
sudo vim ~/.bashrc
export PATH=$PATH:/usr/local/php8_3/bin
保存后执行
source ~/.bashrc
然后输入 php -v,成功输入 php 版本号。
四、创建 php 配置文件并开启 PHP 扩展
首先 cd 到 php的源代码目录,然后复制 php.ini-production 到 http://usr/local/php8_3/etc/ 并更名为 php.ini
sudo cp php.ini-production /usr/local/php8_3/etc/php.ini
因为我们在 configure 的时候已经默认开启了部分的 php 扩展,这部分的扩展无法再在 php.ini 上取消 ; 号来开启,configure 没有开启的扩展,则需要先编译,然后在 /usr/local/php8_3/etc/php.ini 搜索 ;extension=xxx,然后把 ; 冒号去掉即可
这里举两个例子,分别是 redis 和 swoole(请注意,编译 php 扩展,必须要先使用 phpize )
redis:
cd 到扩展目录(在 php 源代码下的 ext 目录内就是各种官方扩展,但是 redis 并不是官方扩展,所以需要自行到相关网站下载)
phpize
./configure --with-php-config=/usr/local/php8_3/bin/php-config
sudo make -j 线程数 && sudo make install
sudo vim /usr/local/php8_3/etc/php.ini
extension=redis
swoole:
cd 到扩展目录(在 php 源代码下的 ext 目录内就是各种官方扩展,但是 swoole 并不是官方扩展,所以需要自行到相关网站下载)
phpize
./configure --with-php-config=/usr/local/php8_3/bin/php-config
sudo make -j 线程数 && sudo make install
sudo vim /usr/local/php8_3/etc/php.ini
extension=swoole
安装好后,我们输入 php -m ,应该就能看到 redis 和 swoole 扩展了。
至此,我们应该成功在 linux 上编译安装了 php8.3 版本。
如有错误,欢迎指正。
本站尊重原创版权,若您认为本文存在侵权内容,请通过以下方式联系,我们将第一时间核实并处理:
邮箱:ttdms@qq.com