php和apache是web開發中常用的兩大技術,其中php作為一種腳本語言,負責網站業務邏輯的編寫和處理;apache則是一種web服務器軟件,作為網站運行的載體。通過對php和apache的配置,我們可以實現網站的相關功能和性能優化。而這里的配置文件,則是php和apache實現配置的關鍵。
在apache中,httpd.conf(或apache2.conf)是apache的主要配置文件,它位于Apache的conf文件夾下。對于php,則需要在httpd.conf文件中添加以下配置信息:
```
LoadModule php7_module modules/libphp7.so
AddType application/x-httpd-php .php
```
第一行告訴Apache加載php7模塊,第二行設置了將.php文件視為php腳本文件。如果在配置完php后需要重新啟動Apache,可以在命令行中輸入以下命令:
```
sudo service apache2 restart
```
相對于apache的配置文件,php的配置文件較為復雜,其中最重要的五個配置文件是php.ini(php的主配置文件)、php-cli.ini(php命令行的配置文件)、php-fpm.conf(FastCGI進程管理器的配置文件)、php-fpm.d/www.conf(通常為FPM默認的進程池的配置文件)、php.ini-development(開發環境配置)和php.ini-production(生產環境配置)。值得提醒的是,php.ini-development是php.ini-production的調試版本,應該在開發環境中使用。三個最基本的配置項是error_reporting、display_errors和log_errors:
```
error_reporting = E_ALL
display_errors = On
log_errors = On
```
第一個配置項表示php將顯示所有錯誤,第二個配置項打開調試模式,可以在頁面中顯示錯誤信息(用戶上線后請記得關閉),第三個配置項將錯誤信息在日志中記錄下來。
此外,還有一些常見的配置項,例如:
```
max_execution_time = 30
post_max_size = 100M
upload_max_filesize = 100M
```
第一個配置項控制php的腳本運行時間,單位為秒。一些具有計算密集型任務的應用程序可能需要配置較長的時間。第二個配置項控制POST請求的最大數據量,第三個配置項控制文件上傳的最大限制。需要注意的是,這些配置項只能在php.ini文件中設置。如果需要對某個虛擬主機指定不同的超時時間、文件上傳大小限制等,可以通過在apache中設置虛擬主機,然后在虛擬主機中設置php的配置項來實現。
在虛擬主機中設置php的配置項,可以使用以下代碼塊:
```ServerName example.com
DocumentRoot /var/www/htmlOptions Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all php_admin_value display_errors On
php_admin_value error_reporting E_ALL
php_admin_value upload_max_filesize 100M ```
在這個例子中,我們設置了example.com虛擬主機的根目錄為/var/www/html,設置了目錄權限,設置了三個php的配置項。這樣設置之后,在這個虛擬主機下的頁面如果產生了錯誤,則會在頁面中顯示錯誤信息,而該虛擬主機的文件上傳大小限制為100M。
此外,還有很多其他的配置項可以設置,例如MySQL和其他數據庫的相關配置,SMTP郵箱服務器配置,和其他有關安全、緩存、性能等方面的配置。同時,我們在配置php、apache的過程中,在遇到問題時可以通過查看配置文件和錯誤日志來定位問題。
上一篇php apache作用
下一篇php apache下載