`
阅读更多

以php-zip为例,总结mac编译安装php扩展步骤:

1. 下载模块源码

2. 编译

 

sudo phpize
sudo ./configure
sudo make
sudo make install

 3. 配置php.ini文件,添加扩展:

 

 

# 将编译好的so文件放在extension_dir所配置的目录里
extension=zip.so

 4. 重启php-fpm

 

以下是编译时遇到的问题:

1. 下载php完整源码 ,选择下载tar包格式,下载后解压:

wget https://www.php.net/distributions/php-7.3.11.tar.gz
tar -xvf php-7.3.11.tar.gz
cd php-7.3.11/ext
#进入自己需要安装的扩展目录
cd zip
sudo phpize

 此处以php-7.3.11为例,如果你是其他版本,可以去官网自己查找(下载与自己php环境对应的版本,可以使用命令:php -v查看,如果没找到对应版本,下载小版本相差不多的即可),官网:https://www.php.net/downloads.php

 

2. 使用mac自带的php7.3执行phpize时报错:(如果没报错,跳过去下一步)

 

grep: /usr/include/php/main/php.h: No such file or directory

grep: /usr/include/php/Zend/zend_modules.h: No such file or directory

grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory

 

解决办法:

 

安装commandlinetools

 

xcode-select --install
cd /Library/Developer/CommandLineTools/Packages/
open macOS_SDK_headers_for_macOS_10.14.pkg

 如果是mac 10.15系统,没有Packages目录,用以下方法:

 

cd /usr
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include include

 如果ln创建软连接时报错,Read-only file system.先执行以下命令

 

sudo mount -uw /

 如果还不行,切换至root用户尝试,并保证你的mac关闭了sip

#mac查看sip状态,关闭的方法请自行搜索,此处不再赘述
csrutil status
#mac切换root用户,第一次用需要一些简单配置,方法请自行搜索
sudo su -

 

3. 编译安装

#接着第一步进入zip目录后
sudo phpize
sudo ./configure -with-php-config=/usr/bin/php-config
sudo make
sudo make install

 4. make时报错缺少pcre.h,解决办法:(若果你的环境没报错,跳过直接下一步)

#将php-7.3.11/ext/pcre目录拷贝到php-7.3.11/ext/pcre/zip/ext目录
cd php-7.3.11/ext/pcre/zip/
mkdir ext
cd ext
cp -Rf php-7.3.11/ext/pcre ./
#路径自己修改
cd php-7.3.11/ext/pcre/zip/ext/prce
sudo phpize
sudo ./configure -with-php-config=/usr/bin/php-config
sudo make
sudo make install

 按照第3步重新编译

5. 编译成功后,会显示so文件所在目录,记录下来.

进入php.ini,查看extension_dir配置的路径,将刚刚编译好的so文件放在extension_dir路径中

php.ini文件位置:php -i,搜索关键字php.ini

 

#在php.ini中添加
extension=zip.so

 6. 验证

php -m

 查看是否已经出现了zip模块

重启php-fpm或Apache

ps -ef|grep php-fpm
sudo kill -9 进程号1 进程号2 进程号3 ...
sudo php-fpm

 完成

 

 

 

0
0
分享到:
评论

相关推荐

    php7的sphinx扩展,适用linux,mac

    3. 在编译PHP7的Sphinx扩展时,确保指定了正确的libsphinxclient路径,如`--with-sphinxclient=/path/to/libsphinxclient`。 总结,PHP7的Sphinx扩展是实现高效全文搜索的关键组件,尤其在处理大量数据和中文文本时...

    mac下php5.6.25扩展

    通常情况下,不同版本的PHP扩展可能有兼容性问题,因此确保使用正确版本的扩展至关重要,以免出现运行时错误或性能问题。 总的来说,了解和正确使用PHP扩展是提升PHP开发效率和应用性能的关键。在Mac环境下,虽然有...

    php无需编译安装openssl扩展的实现方法

    通过简单的brew install命令,Homebrew会自动处理扩展的编译和安装问题,用户只需确认扩展是否已经被正确加载即可。 在PHP 7之后,openssl扩展已经默认集成在PHP的二进制文件中,用户无需再手动安装。但如果需要对...

    php5.* 7.* ixed扩展 windows linux mac

    "ixed扩展"可能是笔误或者拼写错误,通常应该是"ixed extensions",意指固定的或特定的一组PHP扩展。这些扩展可能包括对数据库、加密、图像处理等各种功能的支持。 PHP是一种广泛使用的开源脚本语言,尤其在web开发...

    php sg11扩展 各个版本

    对于PHP Sg11扩展在不同版本上的兼容性问题,开发者需要注意每个PHP版本的API变化。例如,从PHP5到PHP8,PHP引入了很多语法和功能的改进,可能会导致某些旧的Sg11扩展代码不兼容。因此,升级到新版本PHP时,可能需要...

    mac 下安装php7全过程介绍

    根据提供的文件信息,...以上是在Mac操作系统下安装PHP7的完整流程,包括了前期准备工作、安装必要的依赖库和服务器,以及PHP7本身的编译和安装。掌握这些知识点,对于在Mac环境下搭建PHP开发环境具有非常大的帮助。

    在Mac上编译安装PHP7的开发环境

    在Mac上编译安装PHP7开发环境虽然步骤较多,但只要按照顺序逐步进行,耐心解决过程中遇到的编译错误和配置问题,最终是可以成功配置并使用PHP7的。通过这个过程,您不仅可以学习到如何安装最新版本的PHP,还能够加深...

    在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程

    为了编译PHP,你需要下载其源代码以及依赖的库,如zlib、GD库、FreeType、libpng、libjpeg、cURL、mhash、mcrypt、bzip2、gettext和libtool。每个库都需要通过`./configure`进行配置,并指定适当的路径。例如,对于...

    php扩展库freetype2.5.3

    2. **PHP扩展**:在PHP中,Freetype通常作为扩展存在,允许PHP脚本直接处理字体和生成文本图像。这在动态生成网页、图像处理、报告生成等场景中非常有用。安装`freetype2.5.3`扩展后,开发者可以利用PHP的`gd`库或者...

    memcache 扩展,php5.5 32,64 位,以及其他版本下载地址

    在Linux或Mac等其他操作系统上,可能需要编译安装。 安装步骤通常如下: 1. **下载扩展**:首先,你需要从官方或者可信的第三方源获取对应版本的`memcache.dll`文件。标题和描述中提到的下载地址是获取此扩展的...

    mamp下redis扩展多版本.zip

    标题 "mamp下redis扩展多版本.zip" 涉及的是在Mac环境...总结起来,这个压缩包提供了一种便捷的方式,帮助Mac上的MAMP用户快速安装和使用多个PHP版本的Redis扩展,从而更好地利用Redis来优化Web应用的性能和数据处理。

    Mac php7.2.9 redis扩展

    Mac php7.2.9 redis扩展 需要编译下,phpize ./configure make make install ,然后去配置下php配置文件加入扩展类即可

    Postgresql中文分词扩展zhparser安装程序【windows&VS2008;环境】

    使用方法:打开scws-1.2.3\win32里的解决方案文件,里面包括了scws和zhparser,另外一个是scws的php扩展不用编译 zhparser是Postgresql中进行中文分词的常用扩展,网上的相关资料很多,安装的教程也不少,但大多数...

    php5中文版20110401编译

    ■Mac OS X 系统下的安装 ■Windows 系统下的安装 ■FastCGI 进程管理器 (FPM) ■PECL 扩展库安装 ■还有问题? ■运行时配置 ■语言参考 ■基本语法 ■类型 ■变量 ■常量 ■表达式 ■运算符 ■控制结构 ■函数 ■...

    php5.5.10中文手册下载[官方版][2014-02-20最后编译]

    ◦Mac OS X 系统下的安装 ◦Windows 系统下的安装 ◦云计算平台上的安装 ◦FastCGI 进程管理器(FPM) ◦PECL 扩展库安装 ◦还有问题? ◦运行时配置 •语言参考◦基本语法 ◦类型 ◦变量 ◦常量 ◦表达式 ◦运算符...

    php5.5.10手册官方版【2014-02-20编译】

    ◦Mac OS X 系统下的安装 ◦Windows 系统下的安装 ◦云计算平台上的安装 ◦FastCGI 进程管理器(FPM) ◦PECL 扩展库安装 ◦还有问题? ◦运行时配置 •语言参考◦基本语法 ◦类型 ◦变量 ◦常量 ◦表达式 ◦运算符...

    在Mac下如何安装phpredis扩展

    总的来说,安装phpredis扩展在Mac上涉及几个关键步骤:下载源码、编译、配置PHP、安装扩展以及修改配置文件和重启服务。虽然过程中可能会遇到一些小问题,但只要按照上述步骤操作,大部分开发者都能顺利完成安装。...

    php7安装yar扩展的方法详解

    安装过程中会编译源代码,完成后,msgpack扩展的`.so`文件会被自动安装到PHP扩展目录,并且需要在`php.ini`中添加相应的配置。 ### 2. 安装yar扩展 #### 步骤1:下载yar源码 从PECL网站获取yar扩展的源码: ```...

    php-sg11-ixed-linux-mac-windows 版本

    2. **README**:通常包含安装指南、快速启动教程和常见问题解答,帮助用户了解如何配置和使用PHP-SG11-IXED。 3. **Windows 64-bit, Windows 32-bit VC6, Windows 32-bit**:这些是适用于不同Windows系统的加载器,...

    amqp.so扩展

    接着,将php-amqp.so文件复制到MAMP的php扩展目录(例如 /Applications/MAMP/bin/php/php版本号/lib/php/extensions/no-debug非线性/)。然后,你需要编辑MAMP的php.ini配置文件,添加一行 "extension=amqp.so" 来...

Global site tag (gtag.js) - Google Analytics