首页 > 编程语言 >mac 源码编译安装php8.3.9

mac 源码编译安装php8.3.9

时间:2024-08-01 21:29:40浏览次数:17  
标签:opt enable lib -- php8.3 mac 源码 homebrew php

前提条件

确保你已经安装了 HomebrewXcode Command Line Tools。你可以通过以下命令安装它们:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

xcode-select --install

https://www.cnblogs.com/niuben/p/16109703.html

安装必要的依赖项

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

brew install autoconf bison re2c libxml2 openssl@3 libiconv icu4c bzip2 readline krb5 curl

下载 PHP 源代码

PHP 官方网站下载源码包,或者使用 wget

wget https://www.php.net/distributions/php-8.3.9.tar.gz
tar -xvf php-8.3.9.tar.gz
cd php-8.3.9

编写配置脚本

创建一个名为 configure_php.sh 的脚本文件,并写入以下内容:

#!/bin/bash

# 清理之前的编译结果
make clean
rm -rf config.cache

# 设置PKG_CONFIG_PATH
export PKG_CONFIG_PATH="/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/libiconv/lib/pkgconfig:/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig:$PKG_CONFIG_PATH"

# 设置CFLAGS和LDFLAGS,确保不重复
export CFLAGS="-I/opt/homebrew/opt/krb5/include -I/opt/homebrew/opt/bzip2/include -I/opt/homebrew/opt/libiconv/include -I/opt/homebrew/opt/icu4c/include -I/opt/homebrew/opt/readline/include"
export LDFLAGS="-L/opt/homebrew/opt/krb5/lib -L/opt/homebrew/opt/bzip2/lib -L/opt/homebrew/opt/libiconv/lib -L/opt/homebrew/opt/icu4c/lib -L/opt/homebrew/opt/readline/lib"

# 运行配置脚本
./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-bcmath \
--enable-calendar \
--enable-exif \
--enable-fpm \
--enable-intl \
--enable-mbstring \
--enable-mysqlnd \
--enable-opcache \
--enable-pcntl \
--enable-soap \
--enable-sockets \
--with-bz2=/opt/homebrew/opt/bzip2 \
--with-curl \
--with-freetype \
--with-jpeg \
--with-kerberos=/opt/homebrew/opt/krb5 \
--with-libxml \
--with-mysqli \
--with-openssl=/opt/homebrew/opt/openssl@3 \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-readline=/opt/homebrew/opt/readline \
--with-xsl \
--with-zlib \
--with-iconv=/opt/homebrew/opt/libiconv

运行配置脚本

赋予脚本执行权限并运行它:

chmod +x configure_php.sh
./configure_php.sh

编译和安装

运行以下命令进行编译和安装:

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

运行测试

建议在安装之前运行测试:

make test

验证安装

安装完成后,检查 PHP 的版本和已启用的扩展:

/usr/local/php/bin/php -v
/usr/local/php/bin/php -m

配置 PHP 环境

为了方便使用,将 PHP 二进制文件添加到系统的 PATH 中:

echo 'export PATH="/usr/local/php/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

验证 PATH

重新打开终端或运行 source 命令后,验证 PHP 是否在 PATH 中:

php -v

你应该能够看到 PHP 版本信息。

标签:opt,enable,lib,--,php8.3,mac,源码,homebrew,php
From: https://www.cnblogs.com/niuben/p/18337594

相关文章

  • SpringBoot+Vue物流快递仓库管理系统-附源码与配套论文
    1.1研究背景 随着网络不断的普及发展,物流快递仓库管理系统依靠网络技术的支持得到了快速的发展,首先要从员工的实际需求出发,通过了解员工的需求开发出具有针对性的首页、个人中心、员工管理、客户信息管理、驾驶员管理、仓库管理、配送管理、运输管理管理等功能,利用目前网络给......
  • macos Cpp webserver的例子
    一、hello.h#include<iostream>usingnamespacestd;intns__hello(std::string*name,std::string&greeting);~二、helloclient.cpp#include"soapH.h"#include"ns.nsmap"......
  • PHP源码_最新同城上门家政按摩H5小程序源码_上门预约系统
    后端thinkphp框架开发。前端采用uni-app开发,适配多端(小程序+公众号H5+APP)此套源码并非网上免费流传版本,自掏腰包购入,完整无错不需要授权!项目运行截图源码贡献https://githubs.xyz/boot?app=43功能介绍1、数据概况(新增业务城市用户投票功能,更加直观的查看业务城市的关注......
  • android IO Prefetch源码分析
    I/OPrefetcher是高通本身提供的一套优化方案,可以用在Android手机App冷启动的时候。本文基于androidQ主要分libqti-iopd、[email protected]、libqti-iopd-client_system、libqti-perfd-client_system、libperfconfig、libqti_performance,编译后在/vendor/lib/目......
  • PGjdbc源码试读(一)
    目标通过追踪常用的jdbc方法去熟悉PGjdbc的执行流程常见jdbc使用流程Class.forName("org.postgresql.Driver");ConnectionconnectionPG=DriverManager.getConnection("jdbc:postgresql://localhost:5432/xxx","xxxxxx","xxxxxx");Statementstatement......
  • single-spa 源码解析
    single-spa源码解析single-spa是一种微前端的实现方案。阿里的qiankun其实是基于这个项目做了二次开发,其实是做了个拓展,提供了html解析与js沙盒两个功能。本文从single-spa的代码实现角度解析一下它的实现原理。前提假设single-spa首先要求每个子应用需要提供bootstrap,mount,......
  • JSP学生宿舍管理系统599o3(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
    系统程序文件列表用户功能:宿管,学生,班级,宿舍楼宇,宿舍分配,来访登记开题报告内容JSP学生宿舍管理系统开题报告一、选题背景与意义1.选题背景随着我国经济的飞速发展和科学技术的全面进步,以计算机技术、通信技术和数据库技术为基础的信息系统正处于蓬勃发展的黄金时......
  • JSP学生宿舍管理系统66a58(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
    系统程序文件列表项目功能:学生,公寓信息,公寓类型,寝室类型,寝室信息,卫生检查,住宿信息,充值信息,违纪信息,学生账户开题报告内容JSP学生宿舍管理系统开题报告一、引言1.1研究背景随着高校招生规模的不断扩大,学生宿舍管理日益成为高校后勤工作的重要组成部分。传统的......
  • JSP学生宿舍管理系统24fu4(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
    系统程序文件列表项目功能:学生,宿舍信息,卫生检查,电费信息,报修申请,换寝申请,寄存申请,留言信息,检修信息,检修评价,公告信息开题报告内容JSP学生宿舍管理系统 开题报告一、引言1.1研究背景随着高校教育事业的快速发展,学生宿舍作为学生在校期间的重要生活空间,其管......
  • JSP学生宿舍管理系统2z933(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
    系统程序文件列表项目功能:班级,学生,维修人员,宿舍公告,宿舍信息,宿舍安排,报修评价,报修处理,报修信息,在线咨询开题报告内容JSP学生宿舍管理系统 开题报告一、引言1.1研究背景随着高校招生规模的不断扩大,学生宿舍管理面临着诸多挑战,如宿舍分配、日常管理、安全监控......