thttpd+php 不加载php.ini 问题
昨天安裝了thttpd+php,改PHP報錯參數,于是修改了php.ini,重啟了thttpd,沒有生效,然后看phpinfo(),Loaded Configuration File 項是 (none),然后編譯加上參數 –with-config-file-path= 指定一個位置,重新編譯完thttpd 和 php后,啟動 thttpd 依然是這樣,后來看PHP 官方頓時明白了,php作為thttpd的模塊需要修創建環境變量,官方如下:
php.ini 的搜索路徑如下(按順序):
* SAPI 模塊所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行選項,NSAPI 中的 php_ini 參數,THTTPD 中的 PHP_INI_PATH 環境變量)
*HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注冊表位置)
*PHPRC 環境變量
*當前工作目錄(對于 CLI)
*web 服務器目錄(對于 SAPI 模塊)或 PHP 所在目錄(Windows 下其它情況)
*Windows 目錄(C:\windows 或 C:\winnt),或 –with-config-file-path 編譯時選項指定的位置
修改后,居然還是不行·弄來弄去是因為?thttpd?的安全 chroot的路徑問題·我沒有用到 chroot 所以直接修改配置文件把 chroot 改為 nochroot.
歸納:
想讓 thttpd + php支持 php.ini 必須這兩步
1.增加環境變量
thttpd $> PHP_INI_PATH=/usr/local/php/etc thttpd $> export PHP_INI_PATH2.修改配置文件
thttpd $> vim /usr/local/thttpd/etc/thttpd.conf port=80 user=www nochroot host=0.0.0.0 logfile=/usr/local/thttpd/logs/thttpd.log pidfile=/usr/local/thttpd/logs/thttpd.pid throttles=/usr/local/thttpd/etc/throttle.conf urlpat=*.txt|*.mp3 charset=utf-8 dir=/var/www cgipat=/usr/local/thttpd/www/cgi-bin/*我現在覺得可以把thttpd做為下載站來用,限速和防盜鏈的功能都不錯,限速的功能在 nginx之上·
這里千萬別有些不明真相的人拍磚,nginx限速功能還不是那么強大·不能針對目錄,如果針對某個目錄限速需要創建虛擬主機。
本人也是nginx的粉絲·當然thttpd在并發上,性能上還敢不上nginx。 PS:最后一句是我跟人感覺,沒有親自實驗說出的話~
本文轉自Deidara 51CTO博客,原文鏈接:http://blog.51cto.com/deidara/411904,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的thttpd+php 不加载php.ini 问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EMC Isilon(OneFS)删除重
- 下一篇: 概述Nod32的部署