gpt4 book ai didi

php - PHP脚本现在在PHP 5.3下收到错误?

转载 作者:行者123 更新时间:2023-12-03 08:19:17 24 4
gpt4 key购买 nike

尝试运行此php脚本时,我在ssh中收到以下响应...在php 5.2下工作正常,现在安装了5.3,我遇到了麻烦。我看不出有什么问题。

错误:

第1行:?php:没有这样的文件或目录

第2行:意外 token '0'附近的语法错误

第2行:“set_time_limit(0);”

这是脚本。

<?php
set_time_limit(0) ;

$arr = explode("/",$_SERVER['SCRIPT_FILENAME']);
$ct = count($arr);
unset($arr[$ct-1]);
$path=implode("/",$arr);
$path=$path."/";

if(is_file($path."state.txt"))
{
$lines = file($path."state.txt");

if($lines)
{
foreach($lines as $line)
{
if($line)
{
$state = trim($line);
if(!is_dir($path.$state))
{
@mkdir($path.$state,0777);
if(is_file($path."copieble/state/index.php"))
{
$from = $path."copieble/state/index.php";
$to = $path.$state."/index.php";
@copy($from,$to);
}
}
}
}
}
}

@chdir($path);
$handle=opendir('.');
while (($file = readdir($handle))!==false)
{
@chdir($path);
if (($file != ".") && ($file != ".."))
{
if(is_dir($file) && $file != "copieble" && $file !="_vti_cnf")
{
if(is_file($path.$file.".txt"))
{
$lines = file($path.$file.".txt");
if($lines)
{
foreach($lines as $line)
{
if($line)
{
$city = trim($line);
@chdir($path.$file);
if(!is_dir($city))
{

@mkdir($city,0777);
if(is_file($path."copieble/city/index.php"))
{
$from = $path."copieble/city/index.php";
$to = $path.$file."/".$city."/index.php";
@copy($from,$to);

}
}

}
}
}
}

}

}
}
closedir($handle);
include("reflect_changes.php");
?>

最佳答案

我猜您正在像这样运行它:

./my_script.php

尝试像这样运行它:
php my_script.php

第一个会出错的原因是,当您尝试像可执行文件一样运行它时,shell首先会查看是否存在 hashbang。如果是这样,它将与该解释器一起运行。如果不是(例如您的情况),它将尝试将其作为可执行文件运行。那也失败了,因此它只能尝试将其作为Shell脚本执行。

Shell脚本中的 <?php会尝试从名为 ?php的文件开始读取,然后将其传送到随后的命令中,但是没有要读取的名为 ?php的文件。因此,它会出错。

关于php - PHP脚本现在在PHP 5.3下收到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7618258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com