nas php.ini,php.ini 配置文件常用详解
我們并不知道 php.ini 所在路徑,這時候就需要通過?命令來查一查在哪里。
/usr/local/php/bin/php -i |head
php.ini?中常用的配置有如下:
( 1) 配置 disable_function
disable_functions = ?eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chg
rp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsock
open,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,p
roc_close
說明:在 php 中有非常多的函數,在這些函數中有一些是不太安全的,所以有必要把它們禁掉。像 exec, shell_exec 都是在 php 代碼中執行 linux shell 命令,很危險,要禁掉。
( 2)配置 error_log
作為一個運維人員我們理應學會簡單的 php 錯誤排查技能,其實 php 的錯誤跟 linux 下其他服務都是一樣的,遇
到錯誤后要查看錯誤日志,根據報錯信息來判斷錯誤的原因。那如何查看 php 的錯誤信息呢?
第一種情況,可以直接把錯誤信息顯示在瀏覽器中,配置方法是,在 php.ini 中找到 display_error=on,重啟apache 服務后,刷新網頁,發現不再是白頁,而是具體的錯誤。這樣我們就可以根據錯誤來調試 php 代碼了。這種情況適合臨時調試,但是這種情況不適合長期配置,因為所有錯誤都會顯示在瀏覽器上,假如哪天 php 程序員不小心寫錯一段代碼,而且沒測試直接上傳到服務器上了,那么我們的用戶就會直接看到這些錯誤,這樣是不合適的。
第二種情況,把錯誤信息輸出到一個日志文件中,具體配置如下:
在 /usr/local/php/etc/php.ini 加入或者更改 :
display_error=off ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?把錯誤不再瀏覽器顯示
log_errors=on ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??打開錯誤日志開關
error_log=/usr/local/php/logs/error.log指定錯誤日志的路徑,為了避免權限問題不能自動生成該文件,我們可以先創建該文件,并且修改權限為 777
error_reporting = E_ALL | E_STRICT ? ? ? ??定義錯誤日志的級別
配置完成后記得要重啟 apache 服務,才會生效。
( 3)配置 open_basedir
在 php 中是有這個 open_basedir 概念的,它的意思是,把執行 php 的用戶限定在指定的?路徑下,這樣通過權限縮小的方式達到安全目的。作為一個網站,其實我們只需要讓 php?用戶訪問到網站的代碼即可,沒有必要讓它去訪問其他目錄。那如何配置呢?
在 /usr/local/php/etc/php.ini 中加入或者更改
open_basedir = /dir1/:/dir2
說明: /dir1 和/dir2 為我們允許 php 可以訪問的兩個目錄,同樣也可以是多個,目錄之?間用:分隔。一旦限定后,如果 php 試圖去訪問除/dir1 和/dir2 外的目錄下的文件時,就會報錯了。
除了在 php.ini 中定義 open_basedir 外,其實我們還可以在 apache 的配置文件中定義,因為一個 apache 下可能有多個站點,我們要針對不同的站點限定不同的 open_basedir,配置如下:
# vim httpd.conf 或者虛擬主機配置文件,加入
php_admin_value open_basedir "/dir1/:/dir2/"
總結
以上是生活随笔為你收集整理的nas php.ini,php.ini 配置文件常用详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何配置php的ip地址吗,linux如
- 下一篇: SpaceX 龙飞船准备就绪,明天一早为