لاراول یک چارچوب متنباز پی اچ پی است که توسط تیلور اوتول، برای توسعه نرمافزارهای وب بر پایه معماری مدل-نما-کنترلگر و چارچوب سیمفونی طراحی شده است. بعضی از ویژگیهای لاراول بهصورت ماژولار و بستهبندیشده ارائه شده است. در نسخه جدید لاراول ۶ از صفحه خطایابی جدیدی به نام Ignition استفاده شده است که این صفحه خطا از کتابخانهای به نام Flare استفاده میکند. بهصورت پیشفرض بعد از ایجاد یک پروژه لاراول نسخه ۶ و آپلود کردن آن در فضای میزبانی هیچ مشکلی مشاهده نمیشود اما درصورتیکه خطایی در کد وجود داشته باشد به دلیل استفاده پکیج نمایش خطا از proc_open و غیرفعال بودن این تابع (به علت موارد امنیتی) در هاست های اشتراکی، خطای زیر نمایش داده میشود:
The Process class relies on proc_open, which is not available on your PHP installation
خطای proc_open در لاراول Laravel
خطای “proc_open” در لاراول به معنای بروز مشکل در استفاده از تابع proc_open()
در PHP است. تابع proc_open()
برای اجرای یک فرآیند جدید در سیستم عامل استفاده میشود.
این خطا ممکن است به دلایل مختلفی رخ دهد، از جمله:
- کتابخانههای مورد نیاز عملکرد تابع
proc_open()
در سیستم عامل شما نصب نیستند. - محدودیتهای امنیتی در سیستم عامل شما اجازه اجرای فرآیندها را به نرمافزارهای PHP نمیدهد.
- تنظیمات PHP شما ممکن است باعث محدودیت در استفاده از تابع
proc_open()
شده باشد.
برای رفع این خطای proc_open در لاراول Laravel چکار کنیم؟
- بررسی و اطمینان حاصل کنید که کتابخانههای مورد نیاز برای استفاده از تابع
proc_open()
در سیستم عامل شما نصب شده باشند. به طور معمول، نصب PHP باید همراه با این کتابخانهها صورت بگیرد، اما ممکن است نیاز به نصب جداگانه آنها باشد. - بررسی سطح دسترسی و محدودیتهای امنیتی سیستم عامل شما. مطمئن شوید که فرآیندهای PHP اجازه اجرای فرآیندهای جدید را دارند. برای این کار، میتوانید با مدیر سیستم خود یا تیم پشتیبانی تماس بگیرید.
- بررسی تنظیمات PHP خود. ممکن است تنظیمات PHP شما محدودیتهایی را در استفاده از تابع
proc_open()
اعمال کرده باشد. بررسی فایل تنظیمات php.ini و اطمینان حاصل کنید که تنظیمات مربوط به فرآیندها (process control functions
) به درستی تنظیم شده باشند.
جهت حل این خطا، در دستور زیر را در محیط توسعه خود جهت ایجاد فایل تنظیمات flare اجرا کنید:
php artisan vendor:publish --tag=flare-config
سپس فایل config/flare.php
را باز کنید و مقدار collect_git_information
را برابر false قرار دهید.
نکته: لاراول جهت تسریع پردازش خود کلیه تنظیمات را در آدرس laravel/bootstrap/cache ذخیره میکند. به همین منظور بعد از انجام مراحل فوق بایستی cache حذف گردد.در صورتی که مشکل همچنان ادامه دارد، بهتر است با تیم پشتیبانی لاراول یا تیم پشتیبانی سیستم عامل خود تماس بگیرید تا به شما در رفع این خطا کمک کنند.