У меня есть 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;
}
}