如何在Mac OS Mojave上编译和使用php扩展

Poo*_*aki 6 php apache macos macos-mojave

我刚安装了新的OSX Mojave,你知道它预装了PHP 7.1.19,只有几个扩展可用.

首先,我不是自制软件或任何其他软件包管理器的粉丝,也不是禁用安全工具,即csrutil.

我已经成功编译了intl扩展,但是由于代码签名问题,apache没有加载它:

PHP Startup: Unable to load dynamic library 'intl.so' - dlopen(intl.so, 0x0009): code signature in (intl.so) not valid for use in process: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed. in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

有没有办法签署新编译的扩展,可能使用ad-hoc签名方法或其他什么?

我知道有很多关于这个问题的其他主题但是所有这些都没有得到答复,或者至多建议使用自制软件来解决问题!

谢谢

Poo*_*aki 4

经过日复一日的尝试使用intl内置 php,我最终得到了一个强大的解决方案!

首先我必须说这个答案与代码签名无关!

这是我所做的,我忽略了内置包( php、apache )并从源代码编译了两者,现在我安装了两者的最新版本,并且 intl 扩展运行得像一个魅力,构建新扩展是小菜一碟并且 php 运行它们而不会烦人:)

我真的不明白为什么人们使用homebrew这样的东西,而你可以自己轻松地编译库和扩展。

我希望这个答案可以帮助那里的人。