AWS EC2 PHP: невозможно установить значение сеанса, но генерируется идентификатор сеанса - PullRequest
0 голосов
/ 25 октября 2018

Я разместил свое приложение для воспламенения кода в AWS EC2.В этом сеансе не устанавливается значения в моем процессе входа в систему.В файле php.ini я установил путь сохранения сеанса на /tmp.

session.save_path = '/tmp'

Сессия запущена, и идентификатор сессии генерируется.Но значения сеанса не сохраняются. Я напечатал $_SESSION и идентификатор сеанса, ниже вывод.

string(26) "038vbmtjecvkqft02ou813qvo1" array(1) { ["__ci_last_regenerate"]=> int(1540479344) }

У меня есть код сеанса следующим образом:

$this->session->set_userdata('frontusername', $res->Email);
$this->session->set_userdata('frontname', $res->FirstName);
$this->session->set_userdata('frontuserid', $res->Id);

Егоработает нормально на моем другом сервере, но не здесь, в AWS EC2.Восстановите apache после установки пути сохранения и проверьте журнал ошибок в / var / log.Нет ошибок.Также папка / tmp доступна для записи.

Мой файл php.ini, enter image description here

Поиск за последние два дня, не повезло.Любая помощь, пожалуйста, спасибо заранее.

1 Ответ

0 голосов
/ 25 октября 2018

Проверьте разрешение на сеанс.У меня была та же проблема, и я решил ее, изменив разрешение в ami.

Локальное указание значения / var / lib / php / session, похоже, является проблемой, поскольку этот каталог не доступен для записи пользователю сервера.Я ничего не знал о локальном и главном значении, и после некоторого поиска в Google я прочитал следующее:

«Основное значение» (из php.ini) может быть переопределено с «Местное значение» в httpd.conf., .htaccess или другая конфигурация Apache с директивой php_value.

Итак, просмотрев серверные файлы, я обнаружил /etc/httpd/conf.d/php.conf, который содержит:

#
Apache specific PHP configuration options
those can be override in each configured vhost
#
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"

Итакесть проблема, этот php.conf перезаписывает конфигурацию php.ini по умолчанию.Я могу прокомментировать эту последнюю строку с "#" и перезапустить сервер, и все снова будет работать, как и ожидалось.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...