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

2023-12-15

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

但每次尝试安装 Intl 都失败了。在全新安装之前,我在笔式驱动器上找到了 intl.so 并使用了 ICU 版本 54,但这并不是在开发环境中运行的最佳方法。

最后,我陷入了 PECL 无法完成英特尔安装的困境,因为找不到 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。


好吧,我不想使用自制程序,而是只想使用预装在 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命令行工具,ICU(http://site.icu-project.org/)、Autoconf,重新安装了开发者工具头文件,最后使用phpize安装了Intl扩展。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

致命错误:找不到“ext/standard/php_smart_str.h”文件 的相关文章

随机推荐