私はPHPプロジェクトのインストーラを作ろうとしています。次のブロックを<VirtualHost *:80>
に追加する必要があります。ここに私のインストーラスクリプトの一部です:PHPでLinuxファイルを開くにはどうしたらいいですか?
<?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
Webサーバーのユーザーに権限がないか、 cat'コマンド –