2012-08-11 3 views
3

스크립트를 실행할 때 인수로 폴더 이름이 주어지면 FFmpeg를 사용하여 폴더의 모든 이미지를 찾고 크기를 조정하는 명령 줄 PHP 스크립트가 있습니다. 문제는 FFmpeg에서 폴더 내의 파일을 가져올 때 항상 Permission Denied 오류가 발생한다는 것입니다. 이것은 Windows 7에있는 동안입니다.PHP/ffmpeg (Windows 7) : - 사용 권한이 거부되었습니다. 모든 걸 시도했지만 여전히 작동하지 않습니다

큰 문제는 해결 방법을 검색 할 때 인터 웹에서 계속 팝업되는 모든 솔루션을 시도했기 때문입니다. 나는 Avast!에서 설정을 변경했습니다. attrib 명령 (일반 및 "관리자 권한으로 실행")이 읽기 전용으로 표시를 해제하고 명령 줄을 통해 폴더의 소유권을 가져 왔으며 해당 GUI takeown 컨텍스트 메뉴를 사용합니다. (모든 노력이 읽기 전용이 아닌 것으로 표시하기 전에) 모든 것을에 던져 버렸습니다. 나는 계속해서 검색을하고 해결책을 찾고 있지만, 모든 사이트는 계속 같은 것을 반복해서 던지고 있습니다. 이미 여러 번 시도한 것들입니다. 나는 나의 밧줄 끝에있다. 내가하고 싶은 일은 이미지를 빠르고 자동으로 크기를 조정하여 웹 사이트에 올려 놓을 수 있지만 큰 두통입니다.

도와주세요! :(

업데이트 (추가 점) :.

는 FFmpeg을 통해,하지 PHP는 FFmpeg이 권한 거부 오류를 뱉어되는 오류, 스크립트가 단지 (또는 일반적으로 수행하는 일을 계속
  • , FFmpeg가 실패했을 때 내 죽을 진술이 아니었다면.)

  • FFmpeg는 스크립트 대신 명령 줄을 통해 정상적으로 실행되면 정상적으로 실행됩니다. ,이 사진은 수백 장의 사진을 크기 조정해야하는 문제를 해결하지 못합니다. 손으로!

  • CLI 엔진을 사용하여 일반 터미널에서이 스크립트를 실행하고 있습니다. PHP에 대한 이상한 사용은 알고 있습니다. 그러나 PHP에서 FFmpeg로 작업하는 방법을 이미 알고 있었으므로 (리눅스에서는!) 코드를 일반, 독립 실행 형 프로그램으로 사용할 수도 있습니다.

  • FFmpeg는 실행에 사용되는 PHP 함수에 관계없이 동일한 오류를 발생시킵니다. shell_exec, exec, passthru 및 ​​system에서 발생합니다.

+1

사용중인 명령 줄을 제공해주십시오. –

+0

분명히 * 모든 것이 * 시도되지 않았습니다. 혹시 모든 것들을 시스템 Temp 디렉토리에 복사 했습니까? 아파치 프로세스가 아닌 소유권을 자신에게 할당 했습니까? 정확한 메시지가 PHP, Apache 또는 시스템 로그에 나타 났습니까? 그리고 Windows를 사용하지 않으셨습니까? – mario

+0

Windows를 사용하지 않는 것은 완전히 다른 이야기 일 것입니다! 다른 편집을 사용한다고해도 다른 이야기입니다. 아래에서 말했듯이 이것은 FFMpeg 컴파일의 오류라고 생각합니다. 이전에 발생했습니다. –

답변

1

동일한 문제가 있음을 기억할 수 있으며 다른 FFMpeg 컴파일을 확인하는 것이 좋습니다. 나는 다음 중 하나를 사용했고 완벽하게 작동했습니다! Zeranoe FFmpeg builds으로 가서 문제가 해결되는지 알려주십시오. 나는 64-bit Builds (Static) 버전을 사용했다. FFMpeg for Windows의 모든 컴파일이 동일하지 않습니다! 여전히 작동하지 않는다면 사용중인 오류 로그와 명령 줄을 확인하십시오! 나는 모든 것이 잘되어야한다고 생각하지만!

mogrify -resize 640×480 *.jpg 

내가는 FFmpeg 대신뿐만 아니라 그것을 사용하는 것을 확인할 수 있습니다 : 당신이 모든 것을 단순화하고 그렇게 간단 작동 Mogrify Utility를 사용하려고 할 수있는 반면에

. 도구를 설치하고 스크립트에서 명령 줄을 변경하면됩니다. FFMpeg보다 리소스를 덜 사용하고 동일한 결과를 제공합니다!

모두 최상입니다.

+0

사용중인 빌드는 FFmpeg의 64 비트 Windows 정적 빌드입니다. 해당 사이트. :) 그것은 FFmpeg에 문제가 될 수 있습니까? 나의 관심은 흥분된다. 거의 모든 사이트에서 필자는 Windows 사용 권한 문제라고 언급 했으므로 FFmpeg 빌드를 망치는 방식으로 많은 노력을하지는 못했습니다. – user365465

+0

PHP 설정 (예 : open_basedir)을 확인하십시오. 전체 액세스 읽기 및 쓰기가 가능한 임시 폴더에 대한 적절한 사용 권한이 있는지 확인하십시오. (0777 유닉스 타입). 또한 PHP가 임시 파일을 스크립트 디렉토리에 저장하는 tmp 디렉토리를 변경하려고합니까? –

+0

위의 편집 된 게시물에 설명 된 Mogrify 유틸리티를 사용해보십시오! –

0

이 URL을 참조하십시오 : -

http://forum.serviio.org/viewtopic.php?f=5&t=960

는 Windows 서비스에서 실행이는 FFmpeg 가정 읽기하는 네트워크 서버의 파일에 액세스 할 필요가, 당신은 서비스가 있는지 확인해야 사용자 계정에 충분한 네트워크 권한이 있습니다.

두 컴퓨터가 모두 동일한 Windows 도메인에있는 경우 도메인 계정으로 서비스를 실행하고이 계정에서 네트워크 공유에 액세스 할 수있는 권한을 추가 할 수 있습니다.

다른 방법으로 Everyone이 네트워크 공유에 액세스하고 로컬 보안 정책을 편집하여 네트워크 액세스 : Everyone 사용 권한을 익명 사용자에게 적용 할 수 있습니다.

0

관리자 권한으로 명령 프롬프트를 열어이 문제를 해결했습니다. 이것은 명령 프롬프트 파일 이름을 강조 표시하고 CTRL + SHIFT + ENTER로 여는 방법으로 수행됩니다.