我有一個以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