亚洲国产精品欧美综合|婷婷五月无码中文有码|欧美系列国产一区二区|美女AV一区二区三区

查看詳情

將PHP程序封裝成windows服務以便開機自動運行

PHP語言作為腳本語言,本身只是一個文本文件,是無法自動運行的,需要通過PHP安裝環境中的引擎進行解析、執行。

但是,有時候可能需要讓PHP程序自動執行,雖然說能通過添加php.exe文件作為啟動項,再配合參數進行執行,但是,這種方式需要管理員登錄桌面才行,有沒有一種方法能開機自動運行呢,比如定時執行特定任務。

php.exe文件本身也是無法通過服務的方式啟動的,php-cgi.exe也不行,那么,如果能讓它們以服務的方式啟動,那問題就能解決了。這里需要用到srvany.exe,通過將srvany.exe以服務的方式啟動,再通過srvany.exe調用php-cgi.exe,問題就能得到解決。


接下來介紹一下具體的操作方法。

下載srvany.exe,解壓到c:\windows\srvany\srvany.exe


安裝 instsrv ServiceName C:\Windows\srvany\srvany.exe 

卸載 instsrv ServiceName remove 


安裝完畢后,我們需要對srvany.exe進行配置,以便于能夠加載我們指定的程序,配置的方法是,開始 - 運行 - regedit,打開注冊表,定位到下面的路徑。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName 

如果該服務名下沒有Parameters項目,則對服務名稱項目右擊新建項,名稱為Parameters,然后定位到Parameters項,新建以下幾個字符串值。 


名稱 Application 值為你要作為服務運行的程序地址。 

名稱 AppDirectory 值為你要作為服務運行的程序所在文件夾路徑。 

名稱 AppParameters 值為你要作為服務運行的程序啟動所需要的參數。 


如何需要同時運行多個PHP文件,可以考慮使用vbs腳本啟動多個php-cgi.exe進程以解析多個文件,這樣就不用創建多個服務了。

如以下示例:

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ChatServer\parameters]

"AppDirectory"="D:\\www\\chat\\"

"Application"="D:\\www\\chat\\wscript.exe"

"AppParameters"="D:\\www\\chat\\start_for_win.vbs"


至于start_for_win.vbs,它的作用是調用php-cgi.exe解析多個PHP文件,如下:

set objShell = CreateObject("Wscript.Shell")

objShell.Run "D:\PHP7\php.exe D:\www\chat\Applications\YourApp\start_register.php",0

objShell.Run "D:\PHP7\php.exe D:\www\chat\Applications\YourApp\start_gateway.php",0

objShell.Run "D:\PHP7\php.exe D:\www\chat\Applications\YourApp\start_businessworker.php",0


原創內容,轉載請注明出處:網站建設,APP開發,小程序開發請找江西居道科技有限公司,http://xhjnt.cn

智能建站系統代理招商
所屬分類:文章中心??????Time:2020-09-09 06:41:46??????人氣:1493
關閉
13517086454