Запуск нескольких проектов в nginx с использованием php-fpm, создающего сеанс для каждого http-запроса от одного приложения к другому - PullRequest
0 голосов
/ 31 октября 2019

У меня есть 2 независимых приложения, которые построены на Zend Framework с php-fpm и работают на Nginx на том же сервере. Когда я вызываю API из одного приложения в другое приложение. Сеансы создаются для каждого запроса в следующей папке "/ var / lib / php / session". Вышеуказанная функция вызывается только один раз, когда пользователь вошел в систему.

if (session_status() == PHP_SESSION_NONE || session_status() !== PHP_SESSION_ACTIVE) 
{
    session_start();
} 

Ниже указана конфигурация NGINX:

Первое приложение:

  server 
  { 

      listen       80 default;
      listen       443 ssl;
      server_name  $hostname;
      client_max_body_size 16384M;

      location / 
      {
          add_header 'Access-Control-Allow-Origin' "*";
          add_header 'Access-Control-Allow-Credentials' 'true';
          add_header 'Access-Control-Allow-Headers' 'Content-Type,accept,x-wsse,origin';
          add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';

          root /../first_application/public;
          index  index.php index.phtml index.html index.htm;
          try_files $uri $uri/ /index.php$is_args$args;
       }

       location ~ \.php$ 
       {
          root /../first_application/public;
          try_files $uri =404;
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_intercept_errors on;
          fastcgi_read_timeout 300;
          include fastcgi_params;
      }

      location ~ /\.ht 
      {
          deny  all;
      }
}

Второе приложение:

server 
{ 
  listen       8118 default;
  listen       8119 ssl;
  server_name  $hostname:8119;
  client_max_body_size 16384M;

  location / 
  {
      add_header 'Access-Control-Allow-Origin' "*";
      add_header 'Access-Control-Allow-Credentials' 'true';
      add_header 'Access-Control-Allow-Headers' 'Content-Type,accept,x-wsse,origin';
      add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';

      root /../second_application/public;
      index  index.php index.phtml index.html index.htm;
      try_files $uri $uri/ /index.php$is_args$args;
   }

  location ~ \.php$ 
  {        
      root /../second_application/public;
      try_files $uri =404;
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_intercept_errors on;
      fastcgi_read_timeout 300;
      include fastcgi_params;
     }
  location ~ /\.ht
  {
      deny  all;
  }
}
...