حل مشكلة: SocketException Permission denied في ال CakePHP


ال CakePHP هو عبارة عن فريم ورك يستخدم في العديد من المشاريع. وهذا ال CakePHP يدعم خاصية ارسال البريد عن طريق البيلت في وضائف البريد لل php, سيرفر smtp.
قد تواجه هذه المشكلة أثناء ارسال رسالة:
 SocketException Permission denied - CakePHP

هذه المشكلة مرتبطة بسياسة SELinux لل OS. فيقوم SELinux بمنع البي اتش بي/الاباتشي من القيام بالاتصالات الشبكية.
في هذه الحالة عليك أن تعمل استثناء لتسمح للاباتشي/بي اتش بي بالقيام بهذه العمليات

الحل:

1- أولا نضع ال SELinux في وضعية enforce لإبطال أي تأثير عليه
setenforce 1
sestatus | grep -i mode
 النتيجة ستكون:
Current mode:           enforcing
Mode from config file:  permissive
2- قم بتنفيذ الأمر التالي للسماح بالقيام بالاتصالات
setsebool -P httpd_can_network_connect=1
سيتطلب الأمر وقتا لإكمال تنفيذه. سيتم تطبيق هذا الاعدادا بشكل دائم على السيرفر.
3- التأكد وذلك عن طريق كتابة السطر التالي:
getsebool httpd_can_network_connect
النتيجة المتوقعة:
httpd_can_network_connect --> on

انتهى بحمد الله!

ليست هناك تعليقات:

إرسال تعليق