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 安装路径
动态获取路径的命令

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"

编译参数, 运行配置脚本

./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 \
PKG_CONFIG_PATH=$PKG_CONFIG_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

相关文章

PHP 中的 declare 指令

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

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

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

PHP中使用CURL下载远程超大文件的方法

在使用PHP进行开发时,我们经常需要从远程服务器下载文件。当文件体积较大时,普通的文件操作和cURL方法可能会因为内存限制或执行时间限制而失败。本文将介绍如何使用PHP中的cURL扩展来高效地下...

macOS下对现有 DMG 文件进行空间扩容

在macOS下对现有的DMG文件进行空间扩容,可以通过使用hdiutil命令来实现。具体步骤如下:打开终端应用。使用hdiutil resize命令来调整DMG文件的大小。例如,如果你想将一个名...

PHP命名空间使用详解

在 PHP 中,命名空间(Namespace)是一种将相关的类、函数和常量组织到一个逻辑分组中的方式。它有助于避免命名冲突,并提高代码的可维护性和可扩展性。一、命名空间的定义使用 namespa...

图片Base64编码

CSR生成

图片无损放大

图片占位符

Excel拆分文件