致命错误:找不到'ext / standard / php_smart_str.h'文件

问题描述 投票:0回答:1

我下载了MacOS Mojave并在我2012年中期的macbook Pro上进行了全新安装。使用命令行工具安装XCode。得到原生的Apache和PHP,使用PEARL,PECL和ICU的最新版本(63.1),以便以后使用Intl扩展。

但是Intl安装的每一次尝试都失败了。在干净安装之前,我在笔式驱动器上发现了一个intl.so并使用了ICU版本54,但这并不是让开发环境工作的最好方法。

最后,由于无法找到php_smart_str.h文件,我无法完成英特尔的完成安装。

我也重新安装了开发人员工具头文件:

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

是否有可能没有Homebrew的开发环境?

当我在终端跑:

sudo pecl install intl

返回以下内容:

/private/tmp/pear/install/intl/intl_error.h:24:10: fatal error: 'ext/standard/php_smart_str.h' file not found

在创建libtool并运行之后:make。

php macos cakephp pecl intl
1个回答
1
投票

好吧,我不想使用自制软件,而是真的只想使用Mac OS Mojave在我的MacBook Pro上预装的原生apache和php,试图为CakePHP使用保持最清洁的开发环境。

因此,在Pecl官方网站(https://pecl.php.net/package/intl)上,很明显Intl包不再被维护并且已被取代。从PHP 5.3.0开始,您不需要使用Pecl来安装intl扩展,它与PHP捆绑在一起。

但是,它在Mac OS Mojave上本机安装PHP 7.1.24时缺失了。

然后我从php.net下载了PHP 7.1,安装了XCode Command Line Tools,ICU(http://site.icu-project.org/),Autoconf,重新安装了开发人员工具头文件,最后使用phpize安装了Intl扩展。

重要提示:您必须禁用SIP。

© www.soinside.com 2019 - 2024. All rights reserved.