我要在服务器上写当前的原始访问文件,但是我无法访问该文件路径我正在使用以下代码
const GENERAL_ERROR_DIR = '/logs/agent_log';
public function general($msg)
{
$date = date('d/m/Y h:i:s');
$log = $msg . " | Date: " . $date . "\t";
error_log($log,3, self::GENERAL_ERROR_DIR);
}
在上面的代码中,我无法到达该文件的目的地。我这样做。
答案 0 :(得分:1)
您需要写入实际的服务器端路径,类似于/home/yourdomain.com/htdocs/logs/agent_log
,您可以使用getcwd();
获取当前脚本的路径,以便写入与脚本本身相同的路径尝试:
const GENERAL_ERROR_DIR = getcwd();
public function general($msg)
{
$date = date('d/m/Y h:i:s');
$log = $msg." | Date: ".$date."\t";
error_log($log,3, self::GENERAL_ERROR_DIR);
}
然后,您可以将其编辑为文件夹的正确路径。像const GENERAL_ERROR_DIR = getcwd() . '/../../logs/agent_log
这样的东西;
同样正如@ethrbunny所提到的,检查您写入的任何文件夹的权限应该设置为可以写入。
答案 1 :(得分:1)
确保文件存在且apache / httpd具有正确的文件读/写权限。 通常给予该组的写入权限将起作用。 这File permission可以提供帮助。
简而言之,如果您已经在Linux环境中试试这个:
chmod 666 /logs/agent_log
或强>
sudo chmod 666 /logs/agent_log
这将为所有人提供读写权限。