لماذا لا يمكنني حذف ملف من عملية طفل PHP Daemon؟
سؤال
أقوم ببناء نص Daemon PHP بسيط ، باستخدام فئة PHP Daemon المقدمة على:
http://www.phpclasses.org/browse/file/8958.html
أنا عالق مع هذا الفصل للأفضل أو للأسوأ ، وليس لدي الكثير من الوقت لإنجاز هذا ؛ لذلك لإصدار أوامر مخصصة إلى الخفي ، أنا فقط أستخدم ملف الأوامر الموجود في دليل /tmp. ومع ذلك ، أحتاج إلى حذف هذا الملف بعد معالجة الخفي أي أوامر موجودة فيه.
ومع ذلك ، عندما أحاول "إلغاء ربط" الملف في PHP ، تفشل العملية غير المرتبطة ببساطة ، وتبقى الملف. أعرف حقيقة أنها ليست مشكلة أذونات. في الواقع ، أنا متأكد تمامًا من أن هذا له علاقة بحقيقة أن كل "تكرار" من الخفي يتم أن يولد كعملية للأطفال ، وأن هذه العملية الفرعية يجب أن لا يكون لها إذن لحذف الملفات.
سؤالي: لماذا لا تستطيع PHP حذف هذا الملف ، وماذا يمكنني فعله حيال ذلك؟
المحلول
/tmp
عادةً ما يكون لدى مجموعة البت اللزجة ، لذا أعتقد فقط أن المستخدم الذي أودع الملف هناك يمكنه حذفه. هل تعمل عمليات طفلك تحت نفس المستخدم مثل عملية الأصل (Apache ، WWW ، إلخ ..)؟ ما هو مثيل العملية الذي أنشأ الملف؟