我试图让phpmyadmin在我的服务器上运行。 这里是它的nginx虚拟主机:
server { listen 80; server_name server.mydomain.net; location /phpmyadmin/ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name; include /opt/nginx/conf/fastcgi_params; alias /usr/share/phpmyadmin/; } root /opt/nginx/html/; }
这是我的fastcgi_params文件
fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name;
我编译lighthttpd,所以我可以拉出spawn-fcgi。 那现在是坐在/ usr / local / bin,并伴随着我的php5-cgi启动程序,它看起来像:
#!/bin/sh /usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 2 -f /usr/bin/php5-cgi
我运行这个,可以看到它通过执行ps aux | grep php成功启动 ps aux | grep php 。
但是,每当我尝试打开phpmyadmin,我得到错误“没有指定的input文件”
我究竟做错了什么? :/
“没有指定input文件”是PHP在给定path中找不到文件时发生的错误。 Nginx在fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;传递fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;
你的错误是$ fastcgi_script_name; 包含URI,因为你在位置/phpmyadmin/这意味着URI是/phpmyadmin/whatever.php 。 所以你本质上是传递/usr/share/phpmyadmin/phpmyadmin/whatever.php 。
如果你纠正你的path,它应该工作。