PHP 프로젝트를위한 인스톨러를 만들려고합니다. 다음 블록을 <VirtualHost *:80>
에 추가해야합니다. 다음은 설치 프로그램 스크립트의 일부입니다.어떻게하면 PHP에서 리눅스 파일을 열 수 있습니까?
<?php
$path = "/var/www/html/myProject";
$default_conf = shell_exec('cat /etc/apache2/sites-available/000-default.conf');
$new_directory = "<Directory $path/public>
Allow Override all
Require all granted
</Directory>";
$res = str_replace("</VirtualHost>","$new_directory</VirtualHost>", $default_conf);
file_put_contents("/etc/apache2/sites-available/000-default.conf",$res);
그러나 $default_conf
은 비어 있습니다. 왜? 어떻게 해결할 수 있습니까?
명령 줄 환경
cat /etc/apache2/sites-available/000-default.conf
에서이 명령의 결과가 을 예상대로 (비어 있지) 정확히 000-default.conf
파일의 내용이라고 지적했다.
'error_reporting (E_ALL); 시도한 적이 있습니까?ini_set ('display_errors', 1); 위로 가기 - 'Permission denied'메시지가 표시됩니다. –
@NigelRen 제 스크립트의 이름은'installer.php'이고, 이미이 명령을 실행했습니다 :'sudo chmod 777 installer.php' – stack
웹 서버 사용자가 할 수있는 권한이 없거나 당신의' cat' 명령어 –