octave는 matlab 구문과 호환되는 GNU 오픈 소스 과학 컴퓨팅 소프트웨어입니다. 옥타브 스크립트를 작성했는데 #!/usr/bin/octave
시작 부분에서 인터프리터로 옥타브를 지정하고 이 스크립트를 명령줄에서 직접 실행하면 원하는 이미지가 생성될 수 있습니다. 즉, ./octavedemo.m arg1 arg2...
이제 shell_exec()와 같은 PHP 시스템 함수를 사용하여 이 명령을 실행하려고 하는데 작동하지 않습니다.
권한 문제가 있는지 테스트하기 위해 shell_exec()를 사용하여 간단한 ls -l 및 기타 명령을 실행해 보았는데 성공했습니다.
<code>$test = shell_exec("ls -l"); echo $test;</code>
js는 콘솔에서 결과를 받아 출력할 수 있으므로 시스템 기능 실행 권한에는 문제가 되지 않습니다.
그럼 다른 상황이 원인이었는지 묻고 싶습니다.
이미지 생성 속도가 느려서 너무 오래 걸리나요? php.ini에서 max_excution_time을 600으로 설정했는데 이 정도면 충분합니다.
아니면 단순한 텍스트와 달리 이미지가 너무 커서 이렇게 큰 크기로 생성할 수 없는 걸까요?
경험을 제공해 주시면 정말 감사하겠습니다!
원래는 Apache의 기본 html 디렉터리에 새 데모 디렉터리를 만든 다음 이 디렉터리에 php 및 기타 파일을 배치했습니다. 그런 다음 이 디렉터리에 들어가서 모든 파일에 대해 chmod 777 작업을 수행했습니다.
이제 데모 디렉터리에 777 권한을 부여해 보면 문제가 해결될 것입니다. 이는 읽기 및 쓰기 권한을 부여하지 않으면 이 디렉터리에 파일을 생성할 수 없는 이유입니다.
시간을 낭비하지 않으려면 각 단계의 논리에 대해 더 명확하게 생각해야 한다는 사실이 입증되었습니다. 답변해주신 분들께 감사드립니다!