Как заставить Zend 2 и Nginx работать?

Я пытаюсь заставить приложение Zend2 работать с Nginx вместо Apache.

Я googled WWW для решения, но не нашел ничего о Zend 2 и Nginx, все, что я нашел, было старым старым postм о том, как сделать старшую платформу zend (1) работать с nginx.

Как и во всех новых приложениях zend 2, я попытался указать мою конфигурацию nginx на / projectdir / public, и я попробовал несколько других способов сделать символическую ссылку из / projectdir / public в / usr / share / nginx / www, но она просто выиграла ' т работы.

PHP5FPM установлен и настроен, работает phpinfo ().

Вот как моя последняя попытка сделать работу выглядит так …

Вот мой / etc / nginx / sites-available / default

server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /usr/share/nginx/www/; index index.php index.html index.htm; # Make site accessible from http://localhost/ server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; allow ::1; deny all; } # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests #location /RequestDenied { # proxy_pass http://127.0.0.1:8080; #} error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; #location = /50x.html { # root /usr/share/nginx/www; #} #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/evils/projects/zendCodeGit/public$fastcgi_script_name; include fastcgi_params; } } 

Я уже пытался добавить дополнительное место / public / с правильным корнем, но я думаю, что мне не хватает какой-либо работы по настройке или что-то еще.

Я уже выполнил команду установки php composer.phar.

ОС – Ubuntu 12.04

Редактировать:

Вот последний журнал ошибок

  2013/02/09 14:57:47 [error] 10140#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught exception 'Zend\Uri\Exception\InvalidUriPartException' with message 'Host "_" is not valid or is not accepted by Zend\Uri\Http' in /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Uri/Uri.php:729 Stack trace: #0 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/Request.php(285): Zend\Uri\Uri->setHost('_') #1 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/Request.php(85): Zend\Http\PhpEnvironment\Request->setServer(Object(Zend\Stdlib\Parameters)) #2 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Mvc/Service/RequestFactory.php(38): Zend\Http\PhpEnvironment\Request->__construct() #3 [internal function]: Zend\Mvc\Service\RequestFactory->createService(Object(Zend\ServiceManager\ServiceManager), 'request', 'Request') #4 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Serv" while reading response header from upstream, client: 10.211.55.2, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "10.211.55.10" 2013/02/09 14:57:48 [error] 10140#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught exception 'Zend\Uri\Exception\InvalidUriPartException' with message 'Host "_" is not valid or is not accepted by Zend\Uri\Http' in /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Uri/Uri.php:729 Stack trace: #0 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/Request.php(285): Zend\Uri\Uri->setHost('_') #1 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/Request.php(85): Zend\Http\PhpEnvironment\Request->setServer(Object(Zend\Stdlib\Parameters)) #2 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Mvc/Service/RequestFactory.php(38): Zend\Http\PhpEnvironment\Request->__construct() #3 [internal function]: Zend\Mvc\Service\RequestFactory->createService(Object(Zend\ServiceManager\ServiceManager), 'request', 'Request') #4 /home/evils/projects/zendCodeGit/vendor/zendframework/zendframework/library/Zend/Serv" while reading response header from upstream, client: 10.211.55.2, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "10.211.55.10" 

 PHP message: PHP Fatal error: Uncaught exception 'Zend\Uri\Exception\InvalidUriPartException' with message 'Host "_" is not valid or is not accepted by Zend\Uri\Http 

Zend не нравится ваше server_name :

 server_name _; 

Измените его на что-то другое, например «localhost».

Более общее решение было бы:

 fastcgi_param SERVER_NAME $host; 

Таким образом, SERVER_NAME фактически удерживает значение заголовка хоста от requestа. Это также полезно, если у вас несколько имен serverов или вы используете подстановочные знаки

  • Zend Framework buitl-in ubuntu 9.10 server
  • Как развернуть два приложения для работы с основами zend в apache2, как в tomcat
  • PHP фатальная ошибка Zend при загрузке websiteа на website
  • htaccess не работает
  • Установка часового пояса в MySQL при каждом подkeyении с использованием Zend PHP
  • Исkeyить directory из перезаписи с помощью mod_rewrite и lighttpd
  • Автозагрузчик Zend не работает из конфигурации PHP
  • Как перенаправить www.example.com на example.com через htaccess в то время как на zend framework
  • Правило Nginx для Zend Framework
  • Я получаю 500 ошибок на http: // localhost / zftutorial / public
  • Установка Zend Framework
  • Давайте будем гением компьютера.