昨天安装了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_PATH

2.修改配置文件

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:最后一句是我跟人感觉,没有亲自实验说出的话~