سامان
5 سال پیش توسط سامان مطرح شد
8 پاسخ

انتقال پروژه به هاست اشتراکی

سلام دوستان . من با کمپوزر یک پروژه ایجاد میکنم بنام project1 و آنرا در سرور محلی (زمپ) اجرا میکنم و همانطور که میدانید با اجرای دستورlocalhost/project1 صفحه ای که بصورت دیفالت در پروژه ایحاد شده و کلمه laravel را نشون میده ظاهر میشه . تا اینجا مشکلی نیست و همه چیز خوبه . حالا پروژه را زیپ میکنم و به هاست انتقال میدم و براش سابدامین هم میسازم و متاسفانه خطا میده . میدونم که مطلب روی اینترنت برای رفع این مشکل زیاده و خود این سایت راکت هم در مباحثاتش به این مشکل پرداخته (واقعا تشکر از آقا حسام بابت این سایت عالی). تقریبا همه گفتن باید پروژه را در کنار public-html کپی کنیم و بعد محتوی فولدر public را در روت Public-html بریزیم و تاکید هم شده که در روت بریزیم نه در یک فولدری در روت و یک سری کارهای دیگه . من نمی خوام به این روش انجام بدم . چرا که ممکنه چندین پروژه دیگه هم داشته باشم که اگه بنا باشه برای همه اونا اینکار را بکنم خیلی نامنظم میشه فضای هاستم . (البته اگر درست فهمیده باشم چون جندین بار به مطالب دقت کردم ). آیا راهکاری علاوه بر این روش هست ؟ درواقع میخوام پروژه ها را که هرکدام در یک فولدر هستن در public-html داشته باشم .
خواستم بفهمم کجا برنامه متوقف میشه و خطا میده . برای اینکار چند تا کنترل تست در دو تا فایل index.php که در روت و همچنین در فولدر Public هست قرار دادم و میدونم برنامه در فایل Public/index.pxp در خط require DIR.'/../vendor/autoload.php';
ایست میکنه و از اون رد نمیشه . در این فایل یعنی autoload.php هم کنترل تست گذاشتم ولی جائی برنامه ایست نکرد و آنچه باید return میکرد را برگرداند ولی ظاهرا فایل public/index.php این مقدار را قبول نکرده و برنامه همانجا متوقف میشه . خیلی ممنونم از شما


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
1

ببینید در هر هاست شما یک فولدر public_html دارید این به عنوان فولدر اصلی شناخته میشه و تمام url های که در مرورگر وارد میشه به این public_html اشاره میکنه !
حالا لاراول چطور کار میکنه ؟ این آقای لاراول یه سیستم Routing داره که شما تمام url های که در مرورگر برای وبسایت وارد میکنید میره و به index.php و از اونجا به متدها و کنترلرهای مختلف وصل میشه . بنابراین در یک پروژه لاراولی یک فایل index.php بسیار مهم و کاربردی هست که باید باشه و برای هر پروژه هم کاملا unique هست .
بنابراین در هر هاست شما یک پروژه باید آپلود کنید . حالا این چند پروژه در یک هاست رو نمیدونم داستانش چیه !


سامان
@samanf33 5 سال پیش مطرح شد
0

سلام و تشکر . من یک فضای دامنه دارم . که وقتی 'گزینه FileManager در cpanel را انتخاب کنیم یک لیستی از فولدرها رو میاره که یکی از اونا public-html هست که خودش حاوی چندین فولدر دیگه هستش که هر کدوم حاوی یک پروژه لاراول هستن . حالا در url میتونم هرکدام از این زیردامنه ها را نوشته و به آنها وارد بشم . مثلا :
subdomain1.mainDomain.ir و subdomain2.mainDomain.ir , و همینطور چندین تا زیر دامنه دیگه رو هم بتونم اجرا کنم .
. این پروژه ها همه در دامین اصلی ، ولی در زیر دامین به اسم فولدر خودشون اجرا میشن . منظورم از چند تا پروژه این بود .
در فولدر هر پروژه فایل index.php در روت و یک index.php هم در فولدر public هستش . من خواستم از این دو تا فایل مسیر را دنبال کنم تا به محل خطا برسم . ضمنا ورژن php من هم 7.2 گذاشتم . ممنون


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

درود
به صورت کلی پیشنهاد نمیشه که پروژه های لاراول رو روی هاست اشتراکی اجرا کنید.. حالا چه برسه به چند تا....
و در مورد کپی فایل‌ها در کنار public-html : این کار برای موارد امنیتی لازمه‌ (کسی نباید به پوشه config و یا فایل env شما دسترسی داشته باشه)


Mohammad
تخصص : Back-End developer
@mhmdkavosi 5 سال پیش مطرح شد
0

سلام
برای مشکل اول احتمالا ورژن پی اچ پی هاست پایین هستش که باعث توقف اجرای فایل میشه.
از قسمت php version سی پنل
ورژن پی اچ پی رو به ۷ تغییر بدین.
مشکل دوم هم با htaccess تا حدودی قابل حل هستش.
که گوگل کنین روش پیاده سازیش موجوده.


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@samanf33

هر ساب دامنه ای و هر دامنه ای یه مسیر اجرایی داره
مسیر اصلی اجرایی فایل ها در سی پنل
public_html هست
شما وقتی ساب دامنه میسازید به اسم saman
یه پوشه میسازه داخل public_html به اسم saman
پس الان اگر شما بخوایید فایل هارو در ساب دامنه اجرا کنید
هر چی رو که قبلا توی public_html میریختید الان باید بریزید توی پوشه saman و بقیه موارد لاراول رو بیارید به 2 مسیر قبل
قبلا میاوردید قبل از public_html ، الان چون یه پوشه دیگه هم دارید ، پس 2 مسیر میارید عقب و اجرا میکنید!

saman.domain.com هم لاراول شمارو اجرا خواهد کرد!


سامان
@samanf33 5 سال پیش مطرح شد
0

سلام . یعنی این کاری که من کردم اشتباهه؟ اگر در کنار فولدر public-html باشن و اینکه در فولدری در داخل public-html باشن امنیتش متفاوته ؟ هاست اشتراکی که استفاده نکنیم هاست اختصاصی استفاده باید کنیم که اونم خیلی گرونه و امکان استفاده ندارم. اگر از اون مسائل امنیتی بگذریم این سوالی که من مطرح کردم درسته و قابل اجرا هستش؟ ممنون از شما


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@samanf33

نه چیزی اشتباه نیست
توی تنظیمات سی پنلی که فرمودید تقریبا از ورژن های جدیدش همه ساب دامنه هارو مسیرش رو توی پابلیک میزاره!
که شما میتونید مسیرشو تغییر بدید و هر جا خواستید بزارید
کل مطلب هم این هست که شما پوشه public لاراول رو بریزید تو مسیر اجرایی هاست ، حالا ساب دامنه هست ، مسیر اصلی هست
هر جا که هست
بقیه فایل های لاراول رو بریزید داخل یه پوشه جدا
اون پوشه رو هم یه جایی بزارید که از دسترسی اصلی و عمومی هاست جدا باشه! مثل یه مسیر قبل از public_html هاست!

هاست ج کار شمارو میده ، در صورتی که میتونید از سرور های مجازی هم استفاده کنید که خب هزینه هاش به طبع بالاتره.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

وقتی فایل‌های پروژه لاراول کنار public_html باشه قابل دسترسی از مرورگر نیست.
اما اگر درون public_html باشه قابل دسترسیه و این یه مشکل امنیتی محسوب میشه


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

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