当前位置: 首页 > news >正文

intl扩展 mac 安装php_MAC下PHP7.1.23安装intl3.0.0

**** 欢迎转载,非商业转载请注明出处,商业转载请联系 forzhangy@163.com ****

最近帮人做站,接触到PrestaShop 1.7,然后想自己先在本地搭一个环境起来,结果遇到坑了。

这个坑是长这样子滴:

我现在用的是macOS Mojave (10.14.4),自带的PHP 7.1.23 (cli) (built: Feb 22 2019 22:08:13) ( NTS )

prestashop安装的时候,提示需要intl插件,然而....坑来了,intl在安装的时候报错提示缺少头文件"php_smart_str.h",这玩意儿在现行的php版本中已经没有了,替代的是"php_smart_string.h"。这都不是重点,重点是intl这个插件貌似没有更新了,它只认"php_smart_str.h"这个文件。从头到尾,这个坑我爬了三天,还是太年轻,技术积累太差了。

背景交待完毕,进入正题,这个坑我是怎么填的呢,如下:

先把前置环境配一下,可能你需要一个ICU和Autoconf,网络状况不好的话,可能会下载失败,多试几次即可

安装扩展之前,把这件事情做一下 Download PEAR 这一段来自:

-----------------------------------------

(作者:jason 链接:https://www.zhihu.com/question/37469140/answer/109028380 来源:知乎)

curl -O http://pear.php.net/go-pear.phar

sudo php -d detect_unicode=0 go-pear.phar

Configure and Install PEAR

You should now be at a prompt to configure PEAR.

Type 1 and press return.

Enter:

/usr/local/pear

Type 4 and press return.

Enter:

/usr/local/bin

Press return

You should be able to type:

pear version

----------------------------

开始安装扩展

Installing ICU

cd ~ && curl -O http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.tgz

tar -zxvf icu4c-52_1-src.tgz

cd icu/source

./runConfigureICU MacOSXmake

sudo make install

如果你有如下报错,你可以去找其他版本的ICU   http://site.icu-project.org/download

ld: 304 duplicate symbols forarchitecture x86_64

clang: error: linker command failed with exit code1

接着,安装autoconf

注意:autoconf-2.69不固定,看你下载是哪个版本

cd ~ && curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz

tar -zxvf autoconf-latest.tar.gz

cd autoconf-2.69./configuremake

sudo make install

安装完了,清除安装包

cd ~

rm -rf icurm -rf autoconf-2.69

接下来,配置一下php.ini

sudo cp /etc/php.ini.default /etc/php.ini

sudo vi /etc/php.ini

在php.ini中添加两行

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20160303"

extension=intl.so

*no-debug-non-zts-20160303 这里可能随版本不同,后面数字也有不同,注意查看*

前置技能加满,开始大招

================================

1. 到php的官网下载7.1.3的版本,这个版本中还保留着intl扩展,我直接下载了tar.gz压缩格式 https://www.php.net/distributions/php-7.1.3.tar.gz

2.自己手动编译得到扩展  intl.so

步骤如下:

1)进入到php的 ext/intl 目录下,执行  phpize, 权限不够加sudo,正常的话,应该是以下信息

sudophpize

Password:

Configuringfor:

PHP Api Version:20160303Zend Module Api No:20160303Zend Extension Api No:320160303

2)在当前目录下执行 ./configure --with-php-config=/usr/bin/php-config   (当前使用的php,不知道的话执行where php-config)

3)还是当前目录,执行 make ,若报错,可参考这里 https://segmentfault.com/q/1010000010678737

4)再执行 make install,还是老话,权限不够在前面加sudo

5)会在intl/module目录下看到有个intl.so文件,复制这个文件到要使用的php/extentions目录下即可。

参考资料:

相关文章:

  • 5 日期范围查询_SQL 之 简单查询
  • 线段测量_CAD看图软件技巧:一分钟学会CAD多线段测量
  • python格式字符_相当实用的Python格式字符串,格式化
  • htmlcss项目实战源码_基于TensorFlow深度学习人脸识别源码级项目实战
  • com口测试好坏_用modscan测试modbus协议离散仪表数据方法
  • mysql 统计连续重复值_mysql统计某列值连续出现次数小于五次的记录
  • mysql视图代码_MySQL视图简介与操作的介绍(附代码)
  • mysql密码存储过程_mysql设置用户名密码,存储过程,触发器
  • sqlserver mysql 乱码_SqlServer数据库中文乱码问题解决
  • oracle与mysql跨库连接_PostgreSQL+Oracle跨库连接实操
  • php mysql 域名空间_域名空间pipni.cz申请和使用攻略(MYSQL+PHP+CGI+mail+FTP)
  • mysql条件删除表中某些行数据_根据MySQL中的条件仅删除表中的某些行
  • mysql pdo rowcount_PDO rowCount()在MySQL上有效,但在SQL Server 2008 R...
  • mysql+数据库索引策略_mysql数据库索引
  • 企业组织架构mysql_[MySQL] 数据目录的组织架构
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • exports和module.exports
  • Java比较器对数组,集合排序
  • JSDuck 与 AngularJS 融合技巧
  • mongo索引构建
  • ng6--错误信息小结(持续更新)
  • Python爬虫--- 1.3 BS4库的解析器
  • spring security oauth2 password授权模式
  • text-decoration与color属性
  • 从tcpdump抓包看TCP/IP协议
  • 构建工具 - 收藏集 - 掘金
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 今年的LC3大会没了?
  • 利用jquery编写加法运算验证码
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 深入浏览器事件循环的本质
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 使用SAX解析XML
  • 手写一个CommonJS打包工具(一)
  • 昨天1024程序员节,我故意写了个死循环~
  • (27)4.8 习题课
  • (30)数组元素和与数字和的绝对差
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (学习日记)2024.02.29:UCOSIII第二节
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转) Face-Resources
  • (转)Scala的“=”符号简介
  • (转)一些感悟
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理