Scripting
CGI 腳本未在 PHP 文件中執行
我在伺服器中有一個名為 script.cgi 的 CGI 腳本,並且我已將以下程式碼添加到域 vhost:
Action add-footer /cgi-bin/script.cgi AddHandler add-footer .htm .html
我已將其更改為:
Action add-footer /cgi-bin/script.cgi AddHandler add-footer .htm .html .php
如果頁面是 HTML,程式碼將執行,但如果頁面是 PHP,程式碼將不會執行。是否需要將任何程式碼添加到 vhost 以便 PHP 文件可以執行此腳本?
編輯:
我想在伺服器的每個可能頁面中“注入”一個 HTML 程式碼,包括 HTML 和 PHP 文件。
該程式碼僅適用於 html 文件,我不知道為什麼。
抱歉,但我不明白 CGI 不是 PHP,它是 Perl,這需要 Perl/CGI 支持而不是 PHP。PHP 腳本具有 .php 副檔名,而不是 .cgi/.fcgi。
也許我在這裡錯過了一些東西。您能否進一步澄清問題。比如你用的是什麼網路伺服器?這個 PHP 程式碼是嵌入到 .cgi 腳本中還是?
***** 編輯 *****
因此,您可以將 CGI 視為一個介面,在您使用 Perl 的情況下是介面。您不能在 CGI 環境中混合 PHP,但您可以修改 .cgi 腳本以對 .php 腳本進行外部呼叫。
這可以通過以下幾種方式完成:
- 系統()命令
- exec() 命令
- 使用搖桿
- 使用反引號
HTML“工作”正常,因為 HTML 由瀏覽器解釋,而 PHP 是伺服器端語言,必須在適當的環境中執行。
我建議進一步閱讀 Perl 如何執行外部腳本: