我正在尝试在同一服务器块(同一域)中设置 2 个 Symfony 4 应用程序,但 php 不呈现 php 文件。这是我的配置:
server {
server_name mydomain.com;
root /var/www/;
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
}
location ~ ^/app1(/.*)$ {
alias /home/app1/html/public;
try_files $uri /index.php$is_args$args;
location ~ ^/index\.php(/|$) {
fastcgi_pass php_stream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
location ~ ^/app2(/.*)$ {
alias /home/app2/html/public/;
try_files $uri /index.php$is_args$args;
location ~ ^/index\.php(/|$) {
fastcgi_pass php_stream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params_;
fastcgi_param SCRIPT_FILENAME $realpath_root$request_filename;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
}
location / {
root /var/www/;
}
}
如果我将静态文件放在应用程序的文件夹中,它可以工作,但不适用于 php 文件。它在根文件夹 /var/www/index.php 而不是公共应用程序文件夹中查找 php 文件。就像没有考虑到别名指令一样。
任何人都知道如何解决这个问题?