2009-12-16 140 views
3

我在賣一個php腳本,客戶可以在自己的網站上安裝和運行。目前,安裝過程是一個有些「標準」一個......那就是:
1.檢查你的主機覆蓋安裝要求
2.下載一個壓縮包
3.解壓
4.上傳到服務器
5.閱讀安裝說明
6.創建MySQL數據庫
7.設置文件夾的權限在需要的地方
8.運行install.php了
9 FINALLY..we're完成!php安裝腳本

這一切都可能不是一個火箭科學,但即使對於一個expreienced用戶來說,它也是一個過程笨拙的過程。所以,我想開始只提供一個setup.php文件而不是整個包。用戶將在服務器上創建一個/ myscript文件夾,在那裏上傳setup.php並運行它。然後setup.php從我的服務器下載所有需要的文件,整個安裝過程自動完成(除了DB創建,用戶必須自己完成)。這應該是更方便用戶,你不需要閱讀手冊,所以你可以安裝該死的東西。

所以,我要創建一個這樣的安裝腳本,但在我開始之前,我的問題是 - 爲什麼不是每個人都這樣做?懶惰是最明顯的藉口 - 讓用戶爲安裝而煩惱,如果他們希望軟件足夠壞,他們會以某種方式安裝它。但即使是大公司也遵循相同的「標準」,所以一定還有其他的東西。你能想到任何阻礙這樣一個安裝腳本工作的足夠好的技術障礙嗎?這就是爲什麼每個人都在訴諸使用可下載的zip包的原因嗎?

謝謝!

回答

2

並非所有的主機都允許通過PHP進行文件下載。而且,由於您正在下載zip文件,因此您需要將其解壓縮。這可能是最大的障礙。

system()等常常被禁止,並且由於安全問題,unzip也經常不安裝。

將包中的所有必需文件保存在安全的一面時,

+0

是的,出站連接(文件下載需要)並不總是允許的,但我認爲這很少見。無論如何,我的軟件已經要求進行許可證檢查,根據我的經驗,這通常不是問題。我也想過解壓,但可以通過逐個下載文件而不是整個軟件包來解決。不是很有效,但比用戶上傳速度還快。我想問題是如果我能夠使用mkdir(),chmod()和chown,但我的理解是,如果腳本與它所在的文件夾具有相同的UID,即使在safe_mode中,這些也是可用的。 – Amati 2009-12-16 08:55:39