Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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代码未在Ubuntu服务器上执行_Php_Ubuntu_Apache2 - Fatal编程技术网

PHP代码未在Ubuntu服务器上执行

PHP代码未在Ubuntu服务器上执行,php,ubuntu,apache2,Php,Ubuntu,Apache2,以下脚本在我的本地主机上运行,没有任何问题。它创建了一个json文件,我使用AJAX请求该文件在前端构建一个表。然而,当我把它放在运行Apache2和PHP5.5(安装了json模块)的Ubuntu VM上时,它不会创建json文件,结果是我的表是空的 <?php $arr = scandir('.\lehre\test'); foreach($arr as $k=>$v){ if($arr[$k] == "." || $arr[$k] == ".."){ u

以下脚本在我的本地主机上运行,没有任何问题。它创建了一个json文件,我使用AJAX请求该文件在前端构建一个表。然而,当我把它放在运行Apache2和PHP5.5(安装了json模块)的Ubuntu VM上时,它不会创建json文件,结果是我的表是空的

<?php
$arr = scandir('.\lehre\test');
foreach($arr as $k=>$v){
    if($arr[$k] == "." || $arr[$k] == ".."){
        unset($arr[$k]);
    }
    $fp = fopen('files.json', 'w');
    fwrite($fp, json_encode($arr));
    fclose($fp);
}
?>

其他PHP元素,比如include语句。
编辑:我没有得到任何错误消息。我在任何其他路径声明中都使用正斜杠表示法,我猜您的开发环境是一台Windows机器,它在引用目录路径时使用反斜杠(
\
)。但是,在UNIX系统(在您的例子中是Ubuntu)上,系统使用正斜杠(
/

不过,好消息是,即使Windows系统使用反斜杠,在Windows中运行PHP脚本也会将反斜杠和正斜杠识别为相同的斜杠,因此每次在不同的操作系统中运行脚本时,您都可以使用反斜杠,而无需对其进行更改


TL;DR:使用
/
而不是
\
。它可以在Windows和Ubuntu上运行。

尝试在
scandir
pathuse
/
上使用斜杠而不是反斜杠,而不是在Linux系统上使用“\\”。似乎无法修复它:(您遇到了什么错误?
。/
用于反向目录