macOS Silicon M(ARM64架构)芯片下编译PHP8.4 并成功加到EServer集成环境

最近PHP官方发布了PHP8.4.1正式版,本地编译一个试试~我用的是EServer环境包,所以这儿的安装路径在EServer的程序目录下

安装编译依赖

使用Homebrew安装编译PHP所需的依赖:

brew install autoconf automake libtool re2c bison pkg-config openssl@1.1 libzip oniguruma

2. 下载PHP源码

从PHP的官方下载即可~~~

3. 配置和编译

在编译之前,你需要配置PHP的编译选项。以下是一个基本的配置命令示例:

我们可以动态使用 brew --prefix 获取 Homebrew 安装路径
动态获取路径的命令

OPENLDAP_PATH=$(brew --prefix openldap)
KRB5_PATH=$(brew --prefix krb5)
OPENSSL_PATH=$(brew --prefix openssl@3)
LIBICONV_PATH=$(brew --prefix libiconv)
GMP_PATH=$(brew --prefix gmp)
CURL_PATH=$(brew --prefix curl)
BZIP2_PATH=$(brew --prefix bzip2)
FREETYPE_PATH=$(brew --prefix freetype)
LIBXML2_PATH=$(brew --prefix libxml2)
LIBZIP_PATH=$(brew --prefix libzip)
LIBPNG_PATH=$(brew --prefix libpng)
JPEG_PATH=$(brew --prefix jpeg-turbo)
WEBP_PATH=$(brew --prefix webp)
ONIGURUMA_PATH=$(brew --prefix oniguruma)
ZLIB_PATH=$(brew --prefix zlib)
PKG_CONFIG_PATH="$OPENSSL_PATH/lib/pkgconfig:$CURL_PATH/lib/pkgconfig:$LIBPNG_PATH/lib/pkgconfig:$JPEG_PATH/lib/pkgconfig:$ONIGURUMA_PATH/lib/pkgconfig:$ZLIB_PATH/lib/pkgconfig:$LIBXML2_PATH/lib/pkgconfig:$LIBZIP_PATH/lib/pkgconfig:$FREETYPE_PATH/lib/pkgconfig:$WEBP_PATH/lib/pkgconfig:$OPENLDAP_PATH/lib/pkgconfig:$KRB5_PATH/lib/pkgconfig"
CURL_CFLAGS="-I$CURL_PATH/include"
CURL_LIBS="-L$CURL_PATH/lib -lcurl"
export PKG_CONFIG_PATH
export CURL_CFLAGS
export CURL_LIBS

编译参数, 运行配置脚本

./configure \
--prefix=/Applications/EServer/software/php/php-8.4 \
--with-config-file-path=/Applications/EServer/software/php/php-8.4/etc \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-ftp \
--enable-fpm \
--enable-gd=shared \
--enable-mbstring \
--enable-mbregex \
--enable-opcache \
--enable-soap \
--enable-sockets \
--with-bz2=$BZIP2_PATH \
--with-curl=shared,$CURL_PATH \
--with-freetype=$FREETYPE_PATH \
--with-gmp=$GMP_PATH \
--with-iconv=$LIBICONV_PATH \
--with-mysqli \
--with-openssl=shared,$OPENSSL_PATH \
--with-pdo-mysql \
--with-libxml=$LIBXML2_PATH \
--with-webp=$WEBP_PATH \
--with-jpeg=$JPEG_PATH \
--with-zip=$LIBZIP_PATH \
--with-zlib=$ZLIB_PATH

如果提示缺少组件,缺啥用brew安装啥就成
编译和安装:

make -j$(sysctl -n hw.ncpu)
sudo make install

拷贝php.ini到程序目录

cp php.ini-development /Applications/EServer/software/php/php-8.4/etc/php.ini

嗯~~~ 这就完事了~

最后 /Applications/EServer/software/php/php-8.4/bin/php -v测试一下就OK~啦~~~

标签: PHP, macOS

相关文章

Memcached如何配置分布式使用 并附PHP示例

Memcached是一种高性能的分布式内存对象缓存系统,广泛用于加速动态Web应用程序。通过将数据存储在内存中,Memcached能够显著减少数据库负载,提高应用的响应速度Memcached分布...

使用PHP打造轻量级单文件SQLite数据库管理工具

先声明一下,这是我自己内网使用的一个简单的管理工具,所以安全性方面我肯定是没有测试的~ 如果你要放在公网,请添加相关的权限认证及sql防注入等处理在开发过程中,我们经常需要一个简单易用的数据库管...

PHP 中的 declare 指令

在 PHP 编程中,declare 指令是一个强大的工具,用于控制代码的执行行为。它不仅可以启用严格类型模式,还可以用于其他一些高级功能,如性能监控和字符编码。本文将深入探讨 declare 指...

如何在PHP框架Workerman中实现异步任务处理

在现代Web应用中,处理繁重的业务逻辑时,避免主业务流程被长时间阻塞是非常重要的。Workerman是一个高性能的PHP Socket框架,支持异步任务处理,可以有效地解决这一问题。本文将详细介...

图片Base64编码

CSR生成

图片无损放大

图片占位符

Excel拆分文件