存档

2010年10月 的存档

thttpd-2.21b php-5.3.3模块

2010年10月29日 eric 45 条评论

由于2.25b+php-5.2.11版本,昨天测试上传有问题·试这改了很多源码,只支持了火狐浏览器上传小文件,而IE浏览器则直接返回该页无法显示,今天下下来 php5.3.3最新版的PHP,看了下thttpd 的源码,只支持thttpd 2.21b.然后就试着安装了下·现在可以了上传了支持 POST上传了!

下载源码包:
thttpd $> wget http://cn2.php.net/get/php-5.3.3.tar.bz2/from/cn.php.net/mirror
thttpd $> wget http://www.acme.com/software/thttpd/thttpd-2.21b.tar.gz

1.安装thttpd php补丁

thttpd $> tar jxvf php-5.3.3.
thttpd $> tar zxvf thttpd-2.21b.tar.gz
thttpd $> cd php-5.3.3
thttpd $> ./configure –prefix=/usr/local/php –with-thttpd=../thttpd-2.21b
thttpd $> make install

2.安装 thttpd

thttpd $> cd thttpd-2.21b
thttpd $> ./configure –prefix=/usr/local/thttpd
thttpd $> sed -i ‘s#getline#get_line#g’ extras/htpasswd.c
#不然会报错,上篇文章已经说原因了
thttpd $> make
thttpd $> mkdir -p /usr/local/thttpd
thttpd $> mkdir -p /usr/local/thttpd/{man,sbin,www,etc,logs}
thttpd $> mkdir -p /usr/local/thttpd/man/{man1,man8}
thttpd $> mkdir -p /usr/local/thttpd/www/cgi-bin
# thttpd-2.21b 版本的安装脚本写的更软弱·所有要手动创建这些目录
thttpd $> make install

分类: linux 标签: , , ,

thttpd+php 不加载php.ini 问题

2010年10月26日 eric 41 条评论

昨天安装了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的路径问题·我没有用到 [...]

分类: linux 标签: , ,

轻量型thttpd+php5

2010年10月25日 eric 32 条评论

thttpd是一个非常小巧的轻量级web server,它非常非常简单,仅仅提供了HTTP/1.1和简单的CGI支持,thttpd 也类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是采用多路复用(Multiplex)技术来实现。因此效能很好。thttpd还有一个较为引人注目的特点:基于URL的文件流量限制,这对于下载的流量控制而言是非常方便的。象Apache就必须使用插件实现,效率较thttpd低。
php有 thttpd 编译选项,可以作为thttpd模块,这样就比nginx lighttpd 的 php-fpm 更节省资源,相应速度要快!但是目前 thttpd 对PHP的支持限于版本的要求,今天搜索搜索到有一达人出了php5.2.11版本的补丁。

下载php-5.2.11-thttpd-2.25b
thttpd $> wget http://download2.3tera.net/oss/files/osm/thttpd-2.25b/php-5.2.11-thttpd-2.25b.tar.bz2

下载 thttpd-2.25b
thttpd $> wget http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz

1. 创建用户
thttpd $> groupadd -g 33 www
thttpd $> useradd -g 33 www

2. 编译php-5.2.11 作为 thttpd模块
thttpd $> tar jxvf php-5.2.11-thttpd-2.25b.tar.bz2
thttpd $> cd php-5.2.11
thttpd $> ./configure –prefix=/usr/local/php5 –with-thttpd=/root/thttpd-2.25b #这里我就默认安装的,你需要什么模块自行添加
thttpd $> make
thttpd $> make install

3.安装 thttpd-2.25b
thttpd $> tar zxvf thttpd-2.25b.tar.gz
thttpd $> cd thttpd-2.25b
thttpd $> ./configure –prefix=/usr/local/thttpd
thttpd $> sed -i ‘s#getline#get_line#g’ extras/htpasswd.c #在这里必须要修改一下htpasswd.c源码,不然会出现

分类: linux 标签: ,