与 Nginx 混在一起……由于某种原因,我的 URL 参数似乎都没有被传递。我的主页加载正常,但是像“ http://mysite.com/more.php?id=101 ”这样的 URL 会引发错误,说 ID 是未定义的索引。
我假设这是我在 conf 文件中缺少的基本内容。
一些信息:conf.d/virtual.conf
server {
listen 80;
server_name dev.mysite.com;
index index.php;
root /var/www/dev.mysite.com_html;
location / {
root /var/www/dev.mysite.com_html;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/wap/dev.mysite.com_html/$fastcgi_script_n
ame;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
错误日志:
2009/06/22 11:44:21 [notice] 16319#0: start worker process 16322
2009/06/22 11:44:28 [error] 16320#0: *1 FastCGI sent in stderr: "PHP Notice: Undefined index: id in /var/www/dev.mysite.com_html/more.php on line 10
提前致谢。
$args
我通过在您的location
节中附加类似的内容解决了类似的问题要调试这个最简单的方法是
phpinfo.php
在你的虚拟主机的根目录中创建一个文件。调用它phpinfo.php
并将内容设置为然后访问http://domain.com/phpinfo.php?id=1并检查结果输出
如果这是真的,那么参数正在正确传递。
这是我的配置文件:
这是我的配置文件的摘录。这适用于 SugarCRM。
您到底想达到什么目的,即使用原始 php pr 某种框架,我使用以下 vhost 配置文件成功运行了 cakephp
使用以下 fastcgi_params 文件
您应该能够根据更多信息和您的核心 nginx 设置来获得您想要运行的任何内容