簡體   English   中英

如何在 apache2 - ubuntu 上托管 .php 文件?

[英]How to host .php files on apache2 - ubuntu?

我在谷歌雲上為我的 maturita 考試托管我的網絡應用程序。 所以我創建了VM(在ubuntu上運行)並在其上安裝了apache2。 然后我成功安裝了PHP。 問題是,即使我正確安裝了 PHP,它也只托管 .html 文件。 當我嘗試托管 .php 文件時,會出現 HTTP 錯誤 500。 phpinfo.php 是唯一有效的文件。

<?php phpinfo(); ?>

我的問題是。 如何在 Google 雲 ubuntu 上更改 apache 的配置?

HTTP 500 錯誤可能是由 Apache 配置問題引起的。 如果您的代碼生成 500 錯誤,請檢查以確保它們具有在它們所在目錄中運行的權限。 Apache 默認不允許程序執行。 因此,請嘗試使用 CHMOD 授予對您的虛擬主機目錄的權限。

此外,有關錯誤的更多詳細信息,您應該檢查 Apache 錯誤日志,例如:

tail -f /var/log/apache2/error.log

PHP 是您設置的組件,它將處理代碼以顯示動態內容。 它可以運行腳本,連接到您的 MySQL 數據庫以獲取信息,並將處理后的內容交給您的 Web 服務器進行顯示。

再次利用apt系統安裝PHP。 此外,這次包含一些幫助包,以便 PHP 代碼可以在 Apache 服務器下運行並與您的 MySQL 數據庫對話:

sudo apt install php libapache2-mod-php php-mysql

這應該安裝 PHP 沒有任何問題。 我們稍后會對此進行測試。

在大多數情況下,您需要修改 Apache 在請求目錄時提供文件的方式。 當前,如果用戶從服務器請求目錄,Apache 將首先查找名為 index.html 的文件。 我們想告訴 Web 服務器優先選擇 PHP 文件而不是其他文件,因此首先讓 Apache 查找 index.php 文件。

為此,請鍵入以下命令以在具有 root 權限的文本編輯器中打開 dir.conf 文件:

sudo nano /etc/apache2/mods-enabled/dir.conf 它看起來像這樣:

/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

將 PHP 索引文件(上面突出顯示)移動到 DirectoryIndex 規范之后的第一個位置,如下所示:

/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

完成后,按 CTRL+X 保存並關閉文件。 通過鍵入 Y 確認保存,然后按 Enter 以驗證文件保存位置。

之后,重新啟動 Apache 網絡服務器,以便識別您的更改。 通過鍵入以下內容來執行此操作:

sudo systemctl restart apache2

您還可以使用 systemctl 檢查 apache2 服務的狀態:

sudo systemctl status apache2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM