freebsd:Nginx+php+mysql
filed in FreeBSD, 搬家之前 on 2.10, 2009
文章是参考别人的,本人是在原先lighttpd+fastcgi(php)+mysql环境下直接安装nginx,然后修改相关配置文件/usr/local/etc/nginx/nginx.conf
location / {
root /usr/local/www/nginx;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script.name;#PHP文件所在目录
include fastcgi_params;
}
本来是很简单的一个过程,启动的时候出现了问题,unknown “fastcgi_script” variable
然后只能把
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script.name;
修改成
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx;
启动时候是不报错了,但是访问PHP文件出错nginx No input file specified
结果在网上找了一堆资料搞了半天,很多提到php.ini里面的相关设置。
cgi.fix_pathinfo=1 doc_root=
我把能试的都试了,还是不行。又有人说是PHP文件的在目录的权限问题,最后设置成777了还是不行。。。这下郁闷了,
汗死了。。。(就这样浪费了两个多小时)
最后突然发现有的文章
fastcgi_param SCRIPT_FILENAME 这里用的是$fastcgi_script_name
然而我参考的很多文章用的却是$fastcgi_script.name
很可能出错就是在这里了。立马修改成$fastcgi_script_name
重启nginx果然没有报错,访问php文件也正常了。看来是一篇文章出错,然后接着一堆都跟着出错。。。所以今后得细心一点,因为一个小错误导致浪费这么多时间。
cd /usr/ports/www/nginxmake install clean
echo ‘nginx_enable=”YES” >> /etc/rc.confcd /usr/ports/lang/php5#选择支持 fastCGimake config make install cleancd /usr/ports/lang/php5-extensions/make config make install clean
#安装 spawn-fcgi
pkg_add -r -v [...]