PHP代码未在Ubuntu服务器上执行
以下脚本在我的本地主机上运行,没有任何问题。它创建了一个json文件,我使用AJAX请求该文件在前端构建一个表。然而,当我把它放在运行Apache2和PHP5.5(安装了json模块)的Ubuntu VM上时,它不会创建json文件,结果是我的表是空的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
<?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系统上使用“\\”。似乎无法修复它:(您遇到了什么错误?。/
用于反向目录