غير قادر على استدعاء أوامر النظام والبرامج النصية قذيفة من PHP فيدورا 10

StackOverflow https://stackoverflow.com/questions/637430

سؤال

وأنا أعمل على التطبيقات التي يتم تشغيلها محليا على جهاز فيدورا 10 إلى PHP و Apache. ذلك يعتمد على العملية التي يتم تشغيلها في الخلفية.

ووارتفاع عمليات تريد أن تكون قادرة على بدء / إيقاف / إعادة تشغيل هذه العملية، من خلال المتصفح. كنت أحاول أن الحصول على هذا العمل من خلال وجود PHP إجراء مكالمات إلى النظام باستخدام إكسيك () وshell_exec، ولكن لا يبدو للعمل.

وعندما أحاول بدء عملية باستخدام "إكسيك ( 'processName')" لا يحدث شيء.

وعندما أحاول استخدام "إكسيك ( 'killall processName')"، سيلينو يبدأ ظهرت باستمرار حتى التحذيرات التي سمح العملية (لأنني وضعه في وضع متساهل)، ومع ذلك فإنه لا يقتل فعلا هذه العملية! ولكن هذا يبدو أن يذهب حتى بعد أن يتم تحميل الصفحة بالكامل!؟!؟

وأنا قادر على استدعاء برنامج نصي آخر بطريقة مماثلة: "إكسيك ( '/ فار / على شبكة الاتصالات العالمية / المجموعة الاستشارية لاندونيسيا بن / ControlProgram START')". لذلك أنا لست متأكدا ما هي الاختلافات الرئيسية بين مكالمتين / الأوامر.

وأنا أيضا وضع المكالمة النصي في ملف /etc/rc.local أن يكون النصي تشغيل عند تسجيل الدخول. ومع ذلك، سوف أكون قادرا على قتل هذا السيناريو من PHP منذ لها تديرها ... النظام؟

وأنا لست خبيرا عندما يتعلق الأمر أذونات / سيلينو، لذلك لا تدخر على التفاصيل المروعة! ويرجع الفضل في ذلك مسبقا!

هل كانت مفيدة؟

المحلول 2

وأعتقد أنني وجدت هذه المشكلة. ما زلت غير متأكد تماما ما هي المشكلة، ولكن يبدو أن لديها ما تفعله مع أذونات الملف / الدليل. عندما انتقلت البرامج النصية في بلدي الدليل / فار / على شبكة الاتصالات العالمية / أتش تي أم أل، واجهت البرامج النصية. انتقلت منها الى / فار / على شبكة الاتصالات العالمية / CGI-BIN وأنها تعمل هناك أيضا. لذلك قد يكون شيئا حيث اباتشي لا يمكن تنفيذ البرامج النصية التي هي خارج الدليل / فار / على شبكة الاتصالات العالمية، أو على الأقل لا يمكن أن تفعل ذلك مباشرة. شكرا لمساعدتكم على الرغم من!

نصائح أخرى

إذا كان لديك السيطرة الإدارية على هذا النظام الذي تريد أن تحقق من التكوين PHP (تأكد من أنه هو الشخصية التكوين لخادم الويب).

وSafe_Mode سيمنع PHP من تنفيذ أي شيء خارج مجلد معين. في بيئة استضافة مشتركة، وهذا يعني عادة يمكنك تنفيذ فقط الأشياء التي هي نسبة إلى المجلد الرئيسي / على شبكة الاتصالات العالمية الخاص - الذي يبدو أن هذا هو الحال على أساس الملاحظات

وهذا يبدو وكأنه أذونات يونيكس المدرسة القديمة وكيف يعمل اباتشي. أنا لا أذكر (على الرغم من أنها لم تكن بعض الوقت) أن اباتشي حريص على ما سيتم تنفيذ. تحقق مزدوج octals الخاص بك.

لتحقق من أنه لا سيلينو يمكنك تعطيله بدلا من وضعه في متساهلة. رغم أن هذا سوف يؤدي إلى relabel نظام الملفات (أو يجب). في تلك المرحلة سمات الموسعة مع السياقات سيلينو يمكن الخروج من الصديق ويسبب مشاكل سيلينو مرة واحدة في تطبيق مرة أخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top