PHP와 MySQL 데이터베이스 사이에 보안 연결을 만들고 싶습니다.
이렇게 하려면 데이터베이스 정보를 -r--------
권한(소유자만 읽기 전용)이 있는 별도의 파일에 저장해야 합니다. 하지만 이렇게 하면 PHP가 파일을 열 수 없어 연결할 수 없는 것 같습니다.
내가 무엇을해야 하나? phpMyAdmin을 루트로 실행해야 합니까?
편집하다:
이것이 명령의 결과입니다 ls -l
. 도움을 주셔서 감사합니다.
-r-----r-- 1 root root 56 Jul 10 13:01 db.ini
답변1
웹 서버는 데이터베이스 자격 증명이 포함된 파일을 읽을 수 있어야 합니다. 루트로 서비스를 시작하는 것은 좋은 습관이 아니므로 변경해야 합니다.데이터베이스 파일문서:
chown <user>:root db.ini
chmod 0400 db.ini
Apache를 시작한 사용자의 사용자 이름을 사용하는 대신. 다양한 Linux 배포판에서는 서로 다른 사용자를 사용하여 Apache를 시작합니다(아파치,http,www-데이터).
Apache 서비스의 상태를 표시하여 이를 찾을 수 있습니다.
systemctl status apache2
또는 RHEL/CentOS/Fedora의 경우:
systemctl status httpd
마스터 PID필요한 PID와 사용자 이름을 제출하세요.