PHP本机扩展


PHP Native Extension

我有一组类和方法,我希望在给定的系统上使用PHP都可以访问它们,并希望将其打包为扩展,即使它不是用C编写的。这些类和方法还打包了一两个具有SUID位集的shell脚本。不管DOCUMENT_ROOT是什么,类都需要访问这些。

从我所读到的内容来看,php.ini.htaccessauto_prepend选项似乎是唯一的选项。有更好的方法吗?如果我使用自动预处理(包括或需要一个我认为会导致自动预处理再次启动的文件),我会遇到重新声明问题吗?

看看名称空间吧!您可以将所有类放在同一个命名空间中,而不会干扰系统的其他部分。

不要试图构建扩展,如果你想打包你的库,请查看PHAR。

将类/文件放在服务器上的某个位置,并将php.iniinclude_path设置为也包括这些文件的位置。或者,正如您所说,您可以使用auto_prepend_file来强制执行,但如果您不使用名称空间,则这是非常糟糕的想法。你迟早会面临名字冲突。仍然不确定为什么不将所有类转换为类并使用自动加载。