난 내 서버에 PHP 코드의 조각을 실행하려고 :PHP는 간부 (과 리눅스 명령을 실행)와 쉘 스크립트를 실행
나의 이해에서<?php
$cmd = 'echo "this is a test" > /home/ubuntu/scripts/test_file';
echo exec($cmd);
?>
는 텍스트의 조각을 추가해야합니다 파일 test_file
. 파일이 적절한 위치에 존재하고 PHP 파일에서 chmod 755 및 chmod 777을 시도했습니다. 그러나 나는 텍스트가 text_file
에 추가되는 것을 보지 않는다. 내가 서버에서 직접 리눅스 명령을 실행 해봤는데 그것은 작동합니다. 어떤 사람이 내가 뭘 잘못하고 있다고 말할 수 있습니까?
또한, PHP 스크립트를 통해 서버에 가상 호스트 파일을 만들려고합니다. php exec()
을 통해 명령을 실행하는 대신 쉘 스크립트를 실행하여 텍스트 파일에서 필수 매개 변수를 읽고 가상 호스트 파일에서 디렉토리 경로를 설정하는 것이 더 좋을 것이라고 생각했습니다. 나는 리눅스에 익숙하지 않다. 좋은 접근인가? 아니면 이것에 대해 더 좋은 방법이 있을까? 이 모든 것은 magento 기반 사이트를 프로그램 적으로 설정하기 위해 수행됩니다. 감사.
'exec'를 호출하면 오류/경고가 발생합니까? –
가상 호스트 파일은 접근이 제한적이어야하며, 아파치 사용자를 통해 수정해서는 안됩니다. – ajreal
@ JanHančič 아니요, 오류가 없습니다. – Nithin