Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用php打开linux文件?_Php_Linux_File_Ubuntu_Replace - Fatal编程技术网

如何用php打开linux文件?

如何用php打开linux文件?,php,linux,file,ubuntu,replace,Php,Linux,File,Ubuntu,Replace,我正在尝试为我的PHP项目制作一个安装程序。我需要将以下块添加到中。以下是我的安装程序脚本的一部分: <?php $path = "/var/www/html/myProject"; $default_conf = shell_exec('cat /etc/apache2/sites-available/000-default.conf'); $new_directory = "<Directory $path/public> A

我正在尝试为我的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);

000 default.conf
文件的内容,该文件与预期完全一致(它不是空的)。

运行shell命令时可能存在权限问题

为什么不试试更简单、更安全、跨平台的“文件获取内容”功能呢


此外,您还可以使用文件\u exists可读性来仔细检查所有内容并帮助调试。

您可能在运行shell命令时遇到权限问题

为什么不试试更简单、更安全、跨平台的“文件获取内容”功能呢


此外,您可以使用文件\u exists可读性来仔细检查所有内容并帮助调试。

您是否尝试过
错误报告(E\u ALL);ini设置(“显示错误”,1)在顶部-您可能会收到一条“权限被拒绝”消息。@NigelRen我的脚本名为
installer.php
,我已经运行了这个命令:
sudo chmod 777 installer.php
看起来web服务器用户没有权限这样做,或者您可能不需要
cat
命令的绝对路径
/etc/apache2/sites available/000 default.conf
absolute?您脚本的权限与此无关,我只是尝试运行几乎相同的代码,这是我收到的消息,所以您是否尝试过错误报告?您是否尝试过
错误报告(E\u ALL);ini设置(“显示错误”,1)在顶部-您可能会收到一条“权限被拒绝”消息。@NigelRen我的脚本名为
installer.php
,我已经运行了这个命令:
sudo chmod 777 installer.php
看起来web服务器用户没有权限这样做,或者您可能不需要
cat
命令的绝对路径
/etc/apache2/sites available/000 default.conf
absolute?您脚本的权限与此无关,我只是尝试运行几乎相同的代码,这是我收到的消息,所以您尝试过错误报告吗?您是对的。使用
file\u get\u contents()
似乎更干净,您是对的。使用
file\u get\u contents()
似乎更干净
cat /etc/apache2/sites-available/000-default.conf