2012-09-28 4 views
0

현재 PHP를 사용하여 푸시 알림 서버를 설정하려고합니다. 나는 명령 행에서 그것을 실행하면 몇 가지 코드가있다. 그러나, 내가 웹 브라우저를 통해 동일한 PHP 파일을 열면 오류가 허용되지 않는 권한이 부여됩니다.PHP 푸시 알림 권한이 거부되었습니다. IOS

어쩌면이 문제의 원인이 될 수 있지만, 나는 아파치에 문제가 있다는 것을 알고 있지만 무엇이 있는지 전혀 모릅니다.

편집 : 스크립트를 실행하려고 할 때 SELinix 문제가 될 수 있으므로 이러한 오류가 감사 로그에 표시됩니다.

type=AVC msg=audit(1348856835.712:48079): avc: denied { name_connect } for pid=587 comm="httpd" dest=2195 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket 
type=SYSCALL msg=audit(1348856835.712:48079): arch=40000003 syscall=102 success=no exit=-13 a0=3 a1=bfb8c910 a2=4514ad8 a3=10 items=0 ppid=584 pid=587 auid=0 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=2395 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null) 
+0

일부 코드가 보이십니까? – Dave

답변

0

이 거의 확실히 당신의 시스템이 PHP 스크립트가 어떻게해야 무엇이든 할 수있는 충분한 권한을 가지고 있지에 아파치 (또는 nobody)에 사용자의 결과이다. 당신은 서버 측의 권리에 대해 이야기하고 있습니까? 그렇다면 애플과 iOS 태그는 관련성이 없으므로 제거하십시오.

+0

SELinix 문제 일 가능성이있는 것 같습니다. –

0

VHOST 구성이란 무엇입니까? DocRoot 디렉토리에 대한 액세스를 허용 했습니까? 아래 설정 예 :

<VirtualHost *:80> 
    ServerName your.server.com 
    DocumentRoot /var/www/ 

    <Directory /var/www/> 
     DirectoryIndex index.php 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 
1

서버의 SELinux 부울 httpd_can_network_connect가 꺼져있는 것으로 나타났습니다. 일단 내가 켜면 스크립트는 예상대로 작동했다.