2012-07-19 2 views
1

PHP로 작성된 스크립트/응용 프로그램이 우리 사무실에서 작동하며 다른 Office에 성공적으로 배포했습니다. 이제 세 번째 사무실에서 특정 glob() - 함수가 빈 문자열을 반환합니다.linux apache/PHP 읽기 및 쓰기 권한

모든 사무실은 debian stable을 사용하므로 소프트웨어 패키지의 버전이 동일해야합니다. 내가 생각할 수있는 가장 좋은 점은 특정 디렉토리에 대한 사용 권한이 부족하다는 것입니다.

이 이미 수행 한 :

  • 추가 '/ 공유'을의 open_basedir 지시어에 가상 호스트 내부에 후행하지 않고 '/'로 만들려면 그것을 재귀 ->은 phpinfo와 함께 일하게 검증()
  • '/ share': 'setfacl -Rm d : u : www-data : rwx, u : www-data : rwx/share'에 대한 사용 권한을 설정하고이어서 '/ share'를 다시 마운트하고 아파치를 다시 시작하여 새로운 사용 권한이 사용 중입니다. -> 'getfacl/share'로 작업하고있는 것으로 확인되었습니다. www-data에/share 및 그 아래의 모든 디렉토리에 대한 읽기/쓰기 권한이 있는지 확인합니다.
  • 'safe_mode'가 꺼져 있는지 확인했습니다.
  • www- '/ share'를 소유 한 POSIX 그룹에 대한 데이터 : 'chown -R username/groupname/share'이것은 'ls -l'에 의해 검증됩니다. 해당 디렉토리의 POSIX 권한은 'drwxrws --- +'

무엇이 있습니까?

+1

아파치가 설치된 곳은 어디입니까? 외부 또는 lampp 그래서 ..? 그렇다면/var/www/html/* 또는/opt/lampp/htdocs/ – Learner

+0

apache, PHP, postgres 등과 같은 모든 app 폴더에 chmod 0644를 사용하여 권한을 수정하십시오. 모두 동일한 컴퓨터에 설치됩니다. 0644, 0755, 0777, 1777로 chmodding '/ share'를 시도했지만 glob() - 함수는 여전히 빈 문자열을 반환합니다. 귀하의 제안에 감사드립니다! – zenlord

+0

또한/var/www/디렉토리 내의 glob() - 함수를 시도하고 문서화 된대로 배열을 반환했습니다. 이 권한 문제가 있어야합니다 ... – zenlord

답변

0

내가 그것을 머리에 헤맬 수있는 것은 물론, 너무 분명하다. '/ share'가 들어있는 폴더는 엄격한 권한을 가지고 있었기 때문에 사용자 'www-data'가 '/ share'를 입력하는 것을 금지했을 수 있습니다. 나와 함께 생각하는 Thx ...