Похожий вопрос
stackoverflow.com/questions/27637369/nginx-with-mu...
Но там папки, а у меня поддомены...
Есть конфиг nginx где:
Symfony standard app 1 и Symfony standard app 2
2 отдельных приложения на Symfony.
Отличаются только названием домена и корневой директорией.
Первый - основной домен.
Второй - поддомен.
Default - поддомен с одним файлом index.php
# Symfony standard app 1
server {
server_name example.com;
root /foo/.../web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# ...
}
# Symfony standard app 2
server {
server_name bar.example.com;
root /bar/.../web;
# ...
}
# Default /baz/index.php <?php echo 1; ?>
server {
server_name baz.example.com;
root /baz;
location / {
try_files $uri /index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
При рестарте php-fpm происходит следующее.
При первом переходе по example.com запускается 1 приложение.
Затем в новой вкладке браузера при переходе по bar.example.com запускается 2 приложение, но
всё что в папке vendor (composer) вытаскивается из example.com.
Причём baz.example.com (просто index.php) работает как положено.
Если перезапустить php-fpm.
И первым обновить bar.example.com, то ситуация повторяется для example.com.
Ошибка довольно интересная.
в AppKernel в методе
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Acme\Bundle\AcmeBundle(),
// ..
);
Вылетает ошибка Symfony что, Acme\Bundle\AcmeBundle не найден.
Справедливо для приложения, которое будет проинициализировано вторым.
Chrome, Firefox, curl, wget - неважно...
Но
class AppKernel extends Kernel
{
public function registerBundles()
{
var_dump(new Acme\Bundle\AcmeBundle());
exit();
$bundles = array(
new Acme\Bundle\AcmeBundle(),
// ..
);
Выводит инстанс этого бандла.
Дампил пути и в AppKernel, и bootstrap.php.cache и в других... Пути нормальные.
Для меня это чрезвычайно не понятная ситуация.