如何用php打开linux文件?
我正在尝试为我的PHP项目制作一个安装程序。我需要将以下块添加到如何用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
$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