題 如何確認在ubuntu服務器上啟用php


我對Linux並不多。我正在嘗試通過ssh設置服務器。我通過這個命令安裝了apache php和mysql。

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

但我認為服務器上沒有啟用php。

當我運行命令時,我收到如下響應

$ which apache2ctl
/usr/sbin/apache2ctl

但當我檢查 $ which php 我沒有收到回复。

$ locate php5
/etc/apparmor.d/abstractions/php5
/usr/share/ubuntu-serverguide/html/C/php5.html

4
2017-11-22 09:46


起源




答案:


在Debian(以及Ubuntu)上,Apache配置文件存儲在 /etc/apache2。在該目錄中,有2個子目錄用於配置模塊: mods-available 和 mods-enabled。當您安裝Apache模塊(即:foo)時,它會放置 foo.load (可能 foo.conf) 進入 /etc/apache2/mods-available 目錄。使用時啟用Apache模塊 a2enmod,它將創建一個符號鏈接 /etc/apache2/mods-enabled 對於每個匹配的文件 /etc/apache2/mods-available

因此,對於啟用了PHP5的Ubuntu服務器,您應該看到如下內容:

$ cd /etc/apache2
$ ls -l mods-*/*php*
-rw-r--r-- 1 root root 133 2008-02-27 15:49 mods-available/php5.conf
-rw-r--r-- 1 root root  59 2008-02-27 15:49 mods-available/php5.load
lrwxrwxrwx 1 root root  27 2009-02-05 07:30 mods-enabled/php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root  27 2009-02-05 07:30 mods-enabled/php5.load -> ../mods-available/php5.load

如果php5配置文件沒有顯示在 mods-enabled 目錄,啟用它們如下:

$ sudo a2enmod php5
$ sudo /etc/init.d/apache2 restart

完成後,為了測試PHP5的配置,請創建 /var/www/test.php 如下:

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/test.php
$ sudo chown www-data:www-data /var/www/test.php
$ sudo chmod 755 /var/www/test.php

完成後,您應該能夠瀏覽到 /test.php 在該服務器上,查看PHP配置數據。


12
2017-11-22 11:50



這個方法解決了我。非常感謝你。!!! - Wilf
我正在獲得此行的許可 $ sudo echo "<?php phpinfo(); ?>" > /var/www/test.php。 - 151291
@ 151291,試試 echo "<?php phpinfo(); ?>" | sudo tee /var/www/test.php 代替。 - Craig Trader


使用 phpinfo()函數 功能。創建Apache將提供的.php文件,並包含以下內容:

<?php

phpinfo();

?>

當您導航到.php文件並安裝了php時,它應該會為您提供有關已安裝的php版本的大量信息。


3
2017-11-22 10:06





我相信php二進製文件是一個名為php5-cli的獨立軟件包的一部分,你似乎沒有安裝它。


2
2017-11-22 10:00



這是正確的,但只是為了澄清:php5-cli是命令行版本,如果你將它與apache一起使用則不需要。 - Brendan Long


在aptitude做 /^php5$ 看看你是否有那個包裹。如果沒有,安裝它 - 這是核心包。


1
2017-11-22 09:47



任何用cgi覆蓋所有php5的命令行。 - Shishant
你有嗎? php5 包安裝? - meder omuraliev
是的,它們面前有[i] - Shishant
你重啟了apache嗎? - meder omuraliev
是什麼 which php5 返回?你有沒有嘗試製作.php頁面? phpinfo();?您是否啟用了您的網站? a2ensite? - meder omuraliev


a2dismod 禁用apache模塊,當不帶參數執行時,顯示已啟用模塊的列表:

您的選擇是:alias auth_basic authn_file authz_default   authz_groupfile authz_host authz_user autoindex cgi deflate   dir env mime mod-evasive mod-security negotiation PHP5    重寫scgi setenvif ssl status unique_id

您要禁用哪些模塊(通配符可以)?

如果 php5 在列表中,它已安裝並啟用。 (CTRL-C放棄命令)


1
2017-11-22 10:28





從您的服務器請求以下URI:

/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42

你應該得到PHP徽標。如果你這樣做,PHP正在運行


0
2017-11-22 10:15



不,我沒有得到任何回應 - Shishant
沒有在我的ubuntu上啟用php啟用..
只有在PHP解釋根頁面時,該URI才有效;如果PHP沒有處理URI,則不會發生任何事情。 - Craig Trader