2013-06-23 2 views
1

여러 링크가있는 PHP 페이지가 있습니다. 각 링크는 동일한 파일에 다른 내용을 작성합니다. 이것은 일반적으로 작동합니다. 그러나 이미 사용 된 적이있는 분 이내에 동일한 링크를 사용하면 더 이상 파일을 만들거나 수정하지 않습니다.PHP 페이지가 여러 fwrite() 명령을 처리하지 않습니다.

이것은 터미널을 사용하여 확인할 수 있습니다.

Waiting the minute는 PHP 스크립트를 다시 정상적으로 다시 시작합니다.

$file = fopen("/private/tmp/iTunesRemoteCommand", "w"); 
fwrite($file, $_GET['action']); 
fclose($file); 
chmod("/private/tmp/iTunesRemoteCommand", 0777); 
print_r("Done"); 

는 테스트를 위해, 나는 $ _GET [ '행동'] 고정, 수동으로 입력 한 문자열을 바 꾸었습니다.

본질적으로 모든 링크는 1 분마다 한 번 작동합니다.

설치된 PHP 버전은 v5.3.4입니다.

여러 브라우저에서 시도한 결과, 동일한 내용을 상대적으로 짧은 연속으로 파일에 쓰는 것이 PHP의 한계입니까 아니면이 지연을 줄일 수있는 설정 (php.ini?)이 있습니까?

+0

'file_put_contents'를 사용하면 하나의 문장이 더 쉽습니다. – DevZer0

+0

iTunes가 파일을 잠글 수 있습니까? – TimWolla

+0

아니요. iTunes가 파일에 직접 액세스하지 않습니다. AppleScript 응용 프로그램이합니다. 그러나 PHP 스크립트는 이미 지난 1 분 동안 실행되지 않은 명령을 작성하고 파일을 삭제할 수 있기 때문에 잠금으로 인해이 문제가 발생할 가능성이 없습니다. – Phoenix

답변

0

PHP는 어떤 지연도 일어나지 않습니다. 파일에 기록하는 경우에는 타이밍 벌칙이 없습니다.

하지만 여기에는 PHP를 방해하는 항목이 있습니다. 분명히 당신은 iTunes를 원격 제어하려고합니다. iTunes가 파일을 읽지 않으면 이런 일은 일어나지 않습니다. 그리고 아마도 이것은 파일에 쓸 수있는 것과 언제 영향을 주는지에 영향을 미칩니다.

아이튠즈가 파일 내용을 찾기 위해 내부적으로 cronjob을 사용한다면, 이것은 단지 1 분마다 일어날 수 있습니다. 실제로 일어날 일을 아는 것은 우리의 영향력을 넘어서는 것입니다.

+0

매초마다 파일을 읽는 AppleScript입니다. 그러나 PHP 페이지의 다른 명령을 분당 한 번 실행할 수 있고 페이지를 새로 고침하면 실제로 파일이 삭제 (셀프 클린업)됩니다. 제 3 자 (예 : AppleScript)가 파일을 잠그지 않는지 의심 스럽습니다. – Phoenix

관련 문제