installshield mysql_实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包
實現Installshield對Php+mysql+apache做的程序在WINDOWS下打包
上一篇 /
下一篇 ?2007-09-30 09:39:59
/ 個人分類:For Test
實現Installshield對Php+mysql+apache做的程序在WINDOWS下打包(轉貼)
undefinedundefined用Installshield對Php+mysql+apache做的程序在WINDOWS下打包;
在電腦上安裝Php+mysql+apache,并配置,可以正常使用;
我的安裝目錄:C:\php ; C:\mysql ; C:\Program Files\Apache Group
打包思路:將安裝好的Php,mysql,apache,和程序文件通過安裝軟件復制到電腦里,注意安裝時的安裝路徑是我規定的,不能由用戶來自定義路徑;然后啟動apache和mysql服務;即可使用了;問題是apache的配置文件中的servername是否需要根據不同機器主機名和端口來改變;服務如何安裝和啟動;
我使用的方法:
1,首先準備好一切有關的文件(PHP源碼文件;php全部文件;mysql安裝后的全部文件;apache安裝后的全部文件),將這些文件放到一個文件夾里(只是方便,沒有特殊用處);
2,apache的httpd.conf配置文件要如何在安裝后能自動配置好;就對該文件進行研究;開始的時候想獲得主機名,然后替換掉文件中servername +主機名+端口號這一行;端口號我用了一個不常用的60066;后經過實驗證明servername +主機名+端口號這一行 可以注釋或刪除掉;也可以正常使用,但“listen 端口號”必須存在并正確,否則服務是無法啟動的;但還有個事情就是我可以寫很多個listen 端口號;比如;listen 8080,listen 8088;listen 60066;這樣我用哪個端口號都可以正常運行;但推薦一個就好;最后你配置好的httpd.conf文件只要把servername +主機名+端口號這一行注釋掉或刪除,不需要其他的配置了;
3,如何安裝相關的服務到windows服務里,并自行啟動;對apache和mysql都有相應的命令來安裝,啟動,停止和卸載服務;我的方法(有更簡單的)是用文本寫出這幾個命令;
如:
在文本里寫入:
"C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k install
注釋:安裝apache服務到window服務里;
保存文本文件擴展名為BAT;這樣你打開該文件就會將apache服務安裝到windows服務里;
有關命令:
apache命令
"C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k install 安裝apache服務到window服務里
"C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k start 啟動apache服務
"C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k stop 停止apache服務
"C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k uninstall 卸載apache服務從window服務里
mysql命令:
c:\mysql\bin\mysqld-nt -install 安裝MYSQL服務到WINDOW服務中
c:\mysql\bin\mysqld-nt -remove 從WINDOW服務中刪除MYSQL服務
net start mysql 啟動MYSQL服務
net stop mysql 停止MYSQL服務
這樣我做了8個BAT文件;在復制完所有的文件后調用安裝和啟動的4個文件。卸載的時候調用停止和卸載文件;
這樣問題就解決了。剩下的就是用Installshield來做安裝盤了;詳細就不多說了;在腳本里寫了一個函數,該函數的作用就是復制完所有文件,結束安裝后運行,安裝和啟動服務;如下:
function OnEnd()
STRING szTitle, szMsg1, szMsg2;
NUMBER nOption, nReserved;
STRING strTempFile;
STRING strStopFile;
STRING strUninstFile;
STRING strStopMyFile;
STRING strUninsMytFile;
begin
strStopFile = "C:\\Program Files\\Apache Group\\Apache2\\bin\\install.BAT";
LaunchAppAndWait (strStopFile,"",WAIT);
strUninstFile = "C:\\Program Files\\Apache Group\\Apache2\\bin\\start.BAT";
LaunchAppAndWait (strUninstFile,"",WAIT);
strStopMyFile = "C:\\mysql\\installS.bat";
LaunchAppAndWait (strStopMyFile,"",WAIT);
strUninsMytFile = "C:\\mysql\\start.BAT";
LaunchAppAndWait (strUninsMytFile,"",WAIT);
end;
注意:我的安裝路徑是根據剛安裝配置好的;
C:\php ; C:\mysql ; C:\Program Files\Apache Group
也就是要與配置文件里的路徑一致;
最后的一個問題就是我們辛辛苦苦寫的程序都是明碼的是可以見到的;那么我們就需要對PHP源碼進行加密;
我的加密是使用了一個軟件Zend Encoder;很貴的;我下了個試用的;可以到網上去找;
通過Zend Encoder 的IDE程序編譯,實現對PHP文件的加密,并適度擴展其功能應用。( 注:加密后的PHP文件需要客戶端的Zend Optimizer支持才能正常運行)
具有以下特點:完全保護知識產權,支持多項目配置;自定義參數(ZEU的功能性參數);支持擴展名過濾。
其中提到的Zend Optimizer是免費的;相關內容網上很多;
這兩個軟件的使用可以在網上查到;很簡單;
將這兩個軟件安裝到機器里;剛剛我們配置好的機器;
然后運行Zend Encoder將我們寫好的PHP源碼文件進行編譯。保存;
而Zend Optimizer。我們僅僅需要的是一個ZendOptimizer.dll文件;(我的安裝路徑C:\Program Files\Zend)不同的PHP版本在安裝后的目錄里都可以得到;找到你的PHP版本的該DLL文件;打包時需要注意的是路徑;我設置的是:C:\Program Files\Zend\lib;
這樣就可以用Installshield打包;
完成;
寫的是有點羅嗦;不過我想大家應該看的明白吧!呵呵!還有更簡單的方法;希望有人可以提供出來;第一次寫;不好;多謝PHP中問網的monkeye給我的幫助
E_Mail :fjshmily@263.net:QQ: 4856748 ; 可以互相探討;
TAG:
我來說兩句
顯示全部
內容
昵稱
驗證
提交評論
總結
以上是生活随笔為你收集整理的installshield mysql_实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜狗拼音 linux 缓存,搜狗输入法L
- 下一篇: 镜头分类