我有这样的Nginx配置:
server {
server_name symfony.dew;
root /var/www/symfony/web;
location / {
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/(app|app_dev|app_acceptance|app_test|config)\.php(/|$) {
fastcgi_pass php-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
error_log /var/log/nginx/symfony_error.log;
access_log /var/log/nginx/symfony_access.log;
}
当我使用Postman网址测试api时: 本地主机:8080 / app_acceptance / api / v1 / something / 1 它工作得很好,并且它使用xxx_acceptance数据库查找数据,但是当我在耗时执行请求时:
$this->client = new Client(['base_uri' => 'http://nginx/app_acceptance.php', 'timeout' => 2.0]);
它以某种方式重定向到app.php,查询转到xxx数据库而不是xxx_acceptance。我在docker-compose“ nginx”中包含了内容,因此在为食尸鬼建立链接时使用了它。我正在使用最新版本的Docker,Behat和Guzzle。