我有一个以C语言编写的库,它以PHP扩展的形式分发,并且我的用户在共享主机环境中运行时访问库时遇到问题。如何分发PHP扩展以用于共享主机环境
以前(In PHP versions less that 5.2.5)我们的客户可以简单地使用dl()函数和库的完整路径来访问它。
从PHP 5.2.5开始,dl()函数不能包含任何路径信息,因此库必须由系统管理员安装在全局PHP扩展目录中。
从PHP 5.4开始dl() function has been deprecated已被完全从PHP 6.0中删除。这意味着所有库必须由系统管理员安装,并且也通过PHP.ini加载。
据我所知,这是PHP extensions in a shared hosting environment的新现实,没有“解决方法”。
为了最大限度地提高共享主机管理员代表我的客户安装它的可能性,我需要使用我的发行版处理哪些关键事情?
我觉得和你在一起。我最近不得不编译虚拟服务器的SOAP扩展。幸运的是,我能够使用'dl()'函数。作为一种解决方法,您可以将自己的PHP安装为cgi二进制文件...并非这是一个好主意,但是如果客户端至少无法承受虚拟专用服务(如专用系统但共享硬件) ...也许某种轻量级的cgi来fastcgi接口... – Inshallah 2009-10-01 01:31:01
感谢评论Inshallah。我认为在短期内,我会确保我的扩展程序有充分的文档记录,可以与其他人一起玩,并且很容易被任何系统管理员安装。然后在拍摄到中期时改变“系统要求”,正如tinkertim所建议的那样是VPS。长期的解决方案可能是将整个事件移植到WebService – user44538 2009-10-01 06:16:14