راکت
حل شده

نصب نشدن لاراول 6 بر روی هاست ها

16 پاسخ

سلام. امروز برای اولین بار بعد از اینکه یکی از پروژه های قدیمی خودمو به اخرین ورژن اپدیت کردم متوجه شدم که دیگه روی هاست (هیچ هاستی) قابل نصب نیست! چون درون هاست ها متد proc_open رو غیر فعال میکنن. همچنین یه جستجو زدم متوجه شدم به خاطر اپدیت اخیر در یکی از پکیج های symfony هست.

ورژن لاراول خودم رو به ۵.۸.۲۷ تغییر دادم (اخرین ورژنی که قابل نصب بر روی هاست بود و نیاز به proc_open نداشت) و مشکل رفع شد. اما نمیتونم دیگه از اخرین ورژن لاراول برای پروژه هایی که قراره روی یه هاست معمولی واسه مشتری ران بشه استفاده کنم! یعنی مشتری برای اینکه بتونه از اخرین وژن لاارول استفاده کنه باید vps بخره!

خواستم بدونم شما این مشکل رو داشتین یا نه؟ راه حل دیگه ای اگه براش پیدا کردین (بجز دانگرید کردن لاراول که خودم انجام دادم) ممنون میشم به اشتراک بزارید.

ثبت پرسش جدید

پاسخ‌ها

16
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

درود

بله نسخه جدید پکیج Symfony Process مستقیما از proc_open و proc_get_status استفاده میکنه..

"symfony/process": "^4.3.4",

تا قبل از اینکه تیم لاراول فکری به حالش بکنند (البته اگر بکنند) ، احتمالا نیاز باشه این پکیج رو داون‌گرید کرد و با نسخه جدید لاراول سازگارش کرد

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@khanzadimahdi

من تقریبا از همه ورژنای لاراول استفاده کردم و روی هاست و سرور مجازی هم ران کردم!
اکثر هاستینگ ها هم این تابع رو به دلایل امنیتی میبندن .
ولی خیلی کم به این ارور خوردم ، و پروژه هام اجرا هم شده ، هم روی هاست هم روی سرور !

http://www.skyf-host.com رو بهشون پیام بدید

درخواست تست بدید قبل از خرید ، میدن بهتون ، روی سرورهاشون اجرا بگیرید!

من باهاشون کار کردم و راضی بودم .
پروژهای لاراولی رو، هاست هاشون ساپورت میکنه.

مهدی مهدوی
مهدی مهدوی
@mehdi.mahdavi97

تخصص: تازه وارد

سلام
حدودا یک هفته پیش لاراول 6 رو روی هاست اشتراکی کاملا معمولی ران کردم ومشکلی نداره
کلا روی هاست اشتراکی لاراول زیاد ران کردم که به جز بحث task scheduling بقیه موارد اوکی بوده

شاید پاسخ شما همین‌جا باشد

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@ali.bayat

توی اکثر CMS های دیگه ای که کار کردم من و از سمفونی هم استفاده شده داخلش ، با ارور مد نظر برخورد نکردم ! چون استفاده ی مستقیم از اون تابع که نداریم! خود پکیج هم بعید میدونم تو جایی بخواد از اون تایع استفاده کنه که بخواد اروری برگردونه!

حتی من روی وی پی اس ام هم توابع PHP رو بستم ! بدون مشکل دارم کار میکنم باهاشون!

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@ali.bayat
این مشکل به تازگی به وجود امده. من چندین ساله که لاراول رو روی هاست های مختلف ران کردم و مشکلی نداشت. دیروز به این مشکل خوردم. حتی اخرین ورژن از لاراول ۵٫۸ روی سرور نصب نمیشه.

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@khanzadimahdi

اگر یه پروژه نصب شده با ورژن 6 یا 5.8 دارید و ران نمیشه ، کانفیگ باید چک شه
اما اگر توی خود سرور با کامپوزر میخوایید نصب کنید و اروری دارید و اینا ، اون باید از سمت سرور چک شه!

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@Alimotreb

دلیلش کانفیگ سرور نیست. شما یه پروژه لاراول جدید نصب کنید بعدش روی سرور ران کنید متوجه میشید.

@ali.bayat
همینطور که اقای بیات گفتن و منم اشاره کردم مشکل از اپدیت پکیج process در symfony هست.

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@Alimotreb

درود
فایل زیر رو در ریپوی پکیج چک کنید
https://github.com/symfony/process/blob/master/Process.php

لاین‌های ۱۲۱۶، ۱۲۳۹ ،۳۳۳ و چند جای دیگه از proc_open استفاده میشه:

    public static function isTtySupported(): bool
    {
        static $isTtySupported;
        if (null === $isTtySupported) {
            $isTtySupported = (bool) @proc_open('echo 1 >/dev/null', [['file', '/dev/tty', 'r'], ['file', '/dev/tty', 'w'], ['file', '/dev/tty', 'w']], $pipes);
        }
        return $isTtySupported;
    }

@khanzadimahdi
آقای خانزادی نکته خوبی رو اشاره کردند. من خودم لاراول ۵.۸ به بالا رو فقط لوکال و روی سرور نصب کرده بودم.. ولی مسلما وقتی هاستینگ‌ها این تابع رو میبندند... برای نصب روی هاست به مشکل می‌خوریم

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

فرمایشات هر 2 عزیز صحیح هست
@khanzadimahdi
@ali.bayat

ولی
همین چند شب پیش ، یه لاراول 6 روی لوکال نصب کردم ، تغییرات و چند متد نوشتم داخلش ، آپلود کردم روی هاست ! موردی نداشت کار هم میده!

دیگه طوری هست که این تابع رو چه هاستینگ های ایرانی چه خارجی میدونن موارد امنیتی ایجاد میکنه ( حتی مخصوصا در موارد ایجاد شل مخرب) ، بعید میدونم توسعه دهنده های لاراول یا بقیه فریم ورک ها طوری پیاده سازی کنند که دائما و اجبارا نیاز به اجرای اون تابع باشه!!

محمدرضا قمی اویلی
محمدرضا قمی اویلی
@ghomi

تخصص: لاراول

من هم همین مشکل داشتم و این مشکل دوبار در لاراول 6 برام اتفاق افتاد اولش اونجا بود که میخواست یک ارور نشون بده و این خطا میداد که بعد از رفع ارور مشکل حل شد و دومین هم در خوندن اطلاعات از دیتابیس که اون هم به شکل زیر حل کردم :
فایل env رو به صورت زیر ادیت کردم درست شد
از

DB_HOST=127.0.0.1

به

DB_HOST=localhost
mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@ghomi2018

مشکل شما مربوط به چیزی که ذکر کردم نمیشه. مشکل شما در host name دیتابیس بوده.

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@Alimotreb

امروز اخرین ورژن لاراول رو نصب کنید تست کنید. اگه جواب داد لطفا ذکر کنید هاستتون چیه تا منم از اونجا تهیه کنم.
به هر حال تابع استفاده شده درون بیشتر هاست ها غیر فعال هست چون مشکل امنیتی ایجاد میکنه! مگر سرور مجازی یا اختصاصی تهیه کنیم که اونم با توجه به هزینه هایی که مشتری میخواد انجام بده ارزش نداره.
با تشکر.

محمدرضا قمی اویلی
محمدرضا قمی اویلی
@ghomi

تخصص: لاراول

همین الان آخرین ورژن نصب کردم بدون مشکل
https://mobinaweb.com/
ورژن 6.0.2

سهیل
سهیل
@soheilyou

@khanzadimahdi راه حلی پیدا شد؟

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

میهن هاست : هاست گرفتم و تا الان تمام نسخه 6 رو بدون مشکل نصب کردم (منظورم از تمام نسخه هینه که هروقت اپدیت جدیدی میود سریع پروژه رو بروز رسانی و سپس اپلودش میکردم)

الانم به نسخه 7 سویچ کردم (بماند بعضی پیکیچ ها بروزرسانی نکردن) ولی با این حال دارم با 7 کار میکنم

رحیمی
رحیمی
@srahimi

تخصص: برنامه نویس Laravel

من هم در لوکال با نسخه 6 کار کردم و مشکلی نبود. وقتی آپلود کردم چنین مشکلی پیش اومد. خدا رو شکر تا اونموقع نسخه 7 اومده بود و بدون هیچ تغییری روی کدهای خودم و صرفا با بروزرسانی به نسخه 7 مشکل رفع شد.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام