728x90
300x250
웹푸시 알림을 개발하면서 아파치 안에 노드 서버가 돌아가면서 PHP 세션에 접근을 할 필요가 있었다.
리눅스 서버상에서 별도로 path 지정을 하지 않았다면 PHP 세션 설정과 저장되는 경로는 아래와 같다.
[php.ini]
session.save_handler = files
/var/lib/php/session
세션이 저장되는것도 애초에 php.ini 에서 설정된 경로에 하나의 텍스트 파일로 저장된다
여튼 node 에서 php session 을 읽어들이려면 해당 경로에 위치한 파일에 접근을 해야하는데
노드 에서 파일 읽어들이는 fs 를 사용하면 permission denied 가 뜬다 .
해결방법은 우선 경로에 대한 권한 지정도 물론이지만 세션 파일이 새로 생성될때 무조건 660 으로 생성되는것도 문제라서 이 부분을 아래와 같이 선언하면 애초에 세션 파일이 생성될때부터 권한을 조정해서 node 에서 접근 할수 있게끔 조정 할 수 있다.
session_start();
$path = session_save_path().'/sess_'.session_id();
chmod($path, 0775);
728x90
300x250
'IT > PHP' 카테고리의 다른 글
[Laravel] 다른 클래스의 상수 , 변수 합치기 (0) | 2022.05.26 |
---|---|
[Laravel] php artisan migrate 오류 Unknown database type enum requested, Doctrine\DBAL\Platforms\MariaDb1027Platform may not support it (0) | 2022.05.23 |
[Linux] crontab php 파일 실행시켜서 로그 찍기 (0) | 2021.12.25 |
[Laravel] 단순 API 샘플 (curl, post, get) (0) | 2021.09.16 |
[Laravel] migration 관련 , 테이블 생성, 컬럼 수정, 삭제 (0) | 2021.09.09 |