由于 PHP 內置 Web 服務器不考慮“.htaccess”檔案“AddType application/x-httpd-php .php .htm .html”(或類似的東西),我如何配置它來處理嵌入的 PHP 代碼在其花括號 (<?php ... ? >) 內的 HTML 中?
太感謝了。
uj5u.com熱心網友回復:
使用 LAMP 堆疊會容易得多。不建議使用 PHP 內置的 web 服務器進行生產。您可以在PHP 手冊中找到以下警告
"警告此 Web 服務器旨在幫助應用程式開發。它也可用于測驗目的或在受控環境中運行的應用程式演示。它并非旨在成為功能齊全的 Web 服務器。它不應用于公共網路。”
您不能在 HTML 檔案中使用 PHP。或者至少沒有任何主要配置。但是,您可以在 PHP 檔案中撰寫 HTML。
uj5u.com熱心網友回復:
將您的 HTML 檔案重命名為具有“.php”擴展名是最有意義的。但是,如果您真的不想這樣做,或者不能這樣做,有一種方法。
您可以使用路由器腳本(請參閱:https : //www.php.net/manual/en/features.commandline.webserver.php)在其中將檔案作為 PHP 處理。例如創建一個名為router.php的檔案:
<?php
$extensions = array("html", "htm");
$path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
$ext = pathinfo($path, PATHINFO_EXTENSION);
if (in_array($ext, $extensions)) {
$file = __DIR__ . $path;
$data = file_get_contents($file);
return eval('?> ' . $data); // this is where the data is processed.
}
return false; // return false if the file does not have a .html or .htm extension.
然后使用此檔案運行您的內置 Web 服務器:php -S localhost:8000 router.php.
接下來,轉到您的瀏覽器并訪問一個 HTML 檔案,例如index.html on: localhost:8000/index.html。如果您的 HTML 檔案包含任何 PHP 代碼,現在將由eval()您的router.php.
請注意:這不是您應該在生產中使用的東西,因為這可能會造成嚴重的安全威脅!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/405867.html
標籤:
上一篇:如何在VisualStudio2019中使用Xamarin.Android阻止對Android中某些網頁的訪問?
