Php 不允许您执行此脚本
我需要通过CLI执行php脚本的帮助。不确定这是Linux还是PHP问题 当我在Ubuntu中执行/usr/bin/php/var/www/backup.php时,我得到: 不允许您执行此脚本 backup.php中的代码是:Php 不允许您执行此脚本,php,ubuntu,command-line-interface,crontab,Php,Ubuntu,Command Line Interface,Crontab,我需要通过CLI执行php脚本的帮助。不确定这是Linux还是PHP问题 当我在Ubuntu中执行/usr/bin/php/var/www/backup.php时,我得到: 不允许您执行此脚本 backup.php中的代码是: <?php // Set default paths define ("DOCUMENT_ROOT","/var/www"); define ("DATABASE_PATH","/var/lib/mysql/livedb"); define ("BACKUP_PA
<?php
// Set default paths
define ("DOCUMENT_ROOT","/var/www");
define ("DATABASE_PATH","/var/lib/mysql/livedb");
define ("BACKUP_PATH","/var/sitebackups");
$filename_suffix = "_" . date("Ymd_his") .".tar.gz";
if ($_GET['key']!="xxx") {
die ("You are not permitted to execute this script");
}
//change working directory to backup directory
if (!chdir(BACKUP_PATH)) {
die ("Failed to change to working directory.");
}
// Tar the web files
$cmd = "tar -cvzf " . BACKUP_PATH. "/webfiles" . $filename_suffix . " " .DOCUMENT_ROOT ;
echo $cmd . "<br/>";
//echo shell_exec($cmd);
// Create link to web files backup
// Tar the mysql DB
$cmd = "tar -cvzf " . BACKUP_PATH. "/dbfiles" . $filename_suffix . " " .DATABASE_PATH ;
echo $cmd . "<br/>";
//echo shell_exec($cmd);
// Move to backup folder
// Create link to DB backups
// Email backup confirmation
?>
我甚至试图通过crontab添加这是一个计划任务,但我仍然在日志中得到相同的错误
请帮忙 我看不出有什么问题。代码工作正常 变量
$\u GET['key']
未在CLI中设置,并且始终与“xxx”不同,因此代码会通过打印字符串来停止
如果对文件和文件夹的权限设置正确,删除if子句,代码将完成其余的操作。您没有对CLI脚本使用$\u GET-此脚本显然是为了通过web服务器运行而编写的。但是只要拿支票就行哇,我觉得很愚蠢。。。错误在我的代码中,我看到的是$\u GET而不是$argv。我希望我认识的人都不会找到这篇文章:(不太可能需要任何这样的安全性,只要文件在web根目录之外,就可以从命令行或作为cronjob调用它