我正在使用mysqli
来处理数据库操作,并希望将每个错误记录到文件sql-error.log
我正在使用的代码如下:
$result = mysqli_query($this->_con,"CALL PROCEDURE_NAME(2)");
if(false===$result){
$error = 'Error calling stored procedure insert_product. Error No: ' .
mysqli_errno($this->_con) . ': ' . mysqli_error($this->_con);
error_log($error . "Date::" . date("l jS \of F, Y, h:i:s A") ."\n", 3, "/sql-errors.log");
exit();
}
在cPanel上,我的Functions.php
文件夹结构如下:
/public_html/site_name/sql/functions/
但是当我执行查询时,我得到了一个下面的错误
[15-Jan-2016 04:21:06 Etc / GMT] PHP警告:error_log(/sql-errors.log):无法打开流:/ public_html / site_name / sql / functions / Functions中的权限被拒绝。 php在线***
如何授予写入此文件的权限,error_log
会自动创建文件吗?
答案 0 :(得分:2)
我认为PHP正试图在root
文件夹上写,但它没有权限访问。因此,我宁愿使用__DIR__
常量来访问日志文件所在的文件夹。
假设您有一个日志文件夹/public_html/site_name/log/
。由于您的脚本位于/public_html/site_name/sql/functions/
,我编程的是:
error_log( $error . "Date::" . date( "l jS \of F, Y, h:i:s A" ) . "\n", 3, _DIR_ . "/../../log/sql-errors.log" );
希望它有所帮助!