الكتابة إلى ملف السجل تسبب خطأ 704
سؤال
هل يعرف أي شخص معنى هذا الخطأFatal: Autorisation لم يعد صالحًا. 704
يحدث ذلك عندما أحاول الكتابة إلى هذا الملف ، ولكن يتم ضبط الأذونات على 755 و 0644 المجلد المؤقت في جذر هذا المجال الفرعي.
if ($handle = fopen( 'temp/mylog.log'"a+") )
{
if( !fwrite( $handle, $json ) )
{
throw new Exception("can't write to ...");
}
fclose( $handle );
}
شكرا ، ريتشارد
المحلول
هل يمتلك المستخدم الذي يدير هذا البرنامج النصي هذا المجلد/الملف؟
قم بقائمة
# ls -l /rootfolder/temp/
للحصول على المستخدم الذي لديه امتيازات لتعديل الملف ، أفترض أنه كذلك جذر
افعل من قذيفك ما يلي للسماح للمستخدم الخاص بك بالوصول إلى الملف (تغيير المستعمل مع اسم المستخدم الخاص بك)
# chown user /rootfolder/temp/mylog.log
أيضا استخدام المسار الكامل في fopen.
تحديث:
استخدم هذه الخطوات البسيطة لكتابة الملف ، إذا حصلت على أخطاء ، فقد يكون الأمر يتعلق بالأذونات
$myFile = "/home/woonbel/public_html/tsa.nl/temp/tsa.log";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Some of your text...bla bla\n";
fwrite($fh, $stringData);
fclose($fh);
لا تنتمي إلى StackOverflow