以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
完成
相关推荐
3. 在编译PHP7的Sphinx扩展时,确保指定了正确的libsphinxclient路径,如`--with-sphinxclient=/path/to/libsphinxclient`。 总结,PHP7的Sphinx扩展是实现高效全文搜索的关键组件,尤其在处理大量数据和中文文本时...
通常情况下,不同版本的PHP扩展可能有兼容性问题,因此确保使用正确版本的扩展至关重要,以免出现运行时错误或性能问题。 总的来说,了解和正确使用PHP扩展是提升PHP开发效率和应用性能的关键。在Mac环境下,虽然有...
通过简单的brew install命令,Homebrew会自动处理扩展的编译和安装问题,用户只需确认扩展是否已经被正确加载即可。 在PHP 7之后,openssl扩展已经默认集成在PHP的二进制文件中,用户无需再手动安装。但如果需要对...
"ixed扩展"可能是笔误或者拼写错误,通常应该是"ixed extensions",意指固定的或特定的一组PHP扩展。这些扩展可能包括对数据库、加密、图像处理等各种功能的支持。 PHP是一种广泛使用的开源脚本语言,尤其在web开发...
对于PHP Sg11扩展在不同版本上的兼容性问题,开发者需要注意每个PHP版本的API变化。例如,从PHP5到PHP8,PHP引入了很多语法和功能的改进,可能会导致某些旧的Sg11扩展代码不兼容。因此,升级到新版本PHP时,可能需要...
根据提供的文件信息,...以上是在Mac操作系统下安装PHP7的完整流程,包括了前期准备工作、安装必要的依赖库和服务器,以及PHP7本身的编译和安装。掌握这些知识点,对于在Mac环境下搭建PHP开发环境具有非常大的帮助。
在Mac上编译安装PHP7开发环境虽然步骤较多,但只要按照顺序逐步进行,耐心解决过程中遇到的编译错误和配置问题,最终是可以成功配置并使用PHP7的。通过这个过程,您不仅可以学习到如何安装最新版本的PHP,还能够加深...
为了编译PHP,你需要下载其源代码以及依赖的库,如zlib、GD库、FreeType、libpng、libjpeg、cURL、mhash、mcrypt、bzip2、gettext和libtool。每个库都需要通过`./configure`进行配置,并指定适当的路径。例如,对于...
2. **PHP扩展**:在PHP中,Freetype通常作为扩展存在,允许PHP脚本直接处理字体和生成文本图像。这在动态生成网页、图像处理、报告生成等场景中非常有用。安装`freetype2.5.3`扩展后,开发者可以利用PHP的`gd`库或者...
在Linux或Mac等其他操作系统上,可能需要编译安装。 安装步骤通常如下: 1. **下载扩展**:首先,你需要从官方或者可信的第三方源获取对应版本的`memcache.dll`文件。标题和描述中提到的下载地址是获取此扩展的...
标题 "mamp下redis扩展多版本.zip" 涉及的是在Mac环境...总结起来,这个压缩包提供了一种便捷的方式,帮助Mac上的MAMP用户快速安装和使用多个PHP版本的Redis扩展,从而更好地利用Redis来优化Web应用的性能和数据处理。
Mac php7.2.9 redis扩展 需要编译下,phpize ./configure make make install ,然后去配置下php配置文件加入扩展类即可
使用方法:打开scws-1.2.3\win32里的解决方案文件,里面包括了scws和zhparser,另外一个是scws的php扩展不用编译 zhparser是Postgresql中进行中文分词的常用扩展,网上的相关资料很多,安装的教程也不少,但大多数...
■Mac OS X 系统下的安装 ■Windows 系统下的安装 ■FastCGI 进程管理器 (FPM) ■PECL 扩展库安装 ■还有问题? ■运行时配置 ■语言参考 ■基本语法 ■类型 ■变量 ■常量 ■表达式 ■运算符 ■控制结构 ■函数 ■...
◦Mac OS X 系统下的安装 ◦Windows 系统下的安装 ◦云计算平台上的安装 ◦FastCGI 进程管理器(FPM) ◦PECL 扩展库安装 ◦还有问题? ◦运行时配置 •语言参考◦基本语法 ◦类型 ◦变量 ◦常量 ◦表达式 ◦运算符...
◦Mac OS X 系统下的安装 ◦Windows 系统下的安装 ◦云计算平台上的安装 ◦FastCGI 进程管理器(FPM) ◦PECL 扩展库安装 ◦还有问题? ◦运行时配置 •语言参考◦基本语法 ◦类型 ◦变量 ◦常量 ◦表达式 ◦运算符...
总的来说,安装phpredis扩展在Mac上涉及几个关键步骤:下载源码、编译、配置PHP、安装扩展以及修改配置文件和重启服务。虽然过程中可能会遇到一些小问题,但只要按照上述步骤操作,大部分开发者都能顺利完成安装。...
安装过程中会编译源代码,完成后,msgpack扩展的`.so`文件会被自动安装到PHP扩展目录,并且需要在`php.ini`中添加相应的配置。 ### 2. 安装yar扩展 #### 步骤1:下载yar源码 从PECL网站获取yar扩展的源码: ```...
当编译安装PHP 7时遇到“cannot stat ‘phar.phar’: No such file or directory”的问题,通过使用`find`命令定位`phar.phar`文件并将其移动到正确位置,可以有效地解决问题。这个过程中,理解Linux文件系统的导航...
2. **README**:通常包含安装指南、快速启动教程和常见问题解答,帮助用户了解如何配置和使用PHP-SG11-IXED。 3. **Windows 64-bit, Windows 32-bit VC6, Windows 32-bit**:这些是适用于不同Windows系统的加载器,...