راکت
حل شده

ارور 500 در لاراول

26 پاسخ

سلام دوستان عبادتتون قبول باشه
من یک وبسایت بارگذاری کردم روی هاست و به خطای 500 خوردم متن خطا این پایینه ممنون میشم کمک کنید تا زودتر خطا را رفع کنم

[client 176.101.33.112:0] AH01071: Got error 'PHP message: PHP Warning:  require(/home/qaemfari/domains/qaemfar.ir/public_html/../vendor/autoload.php): Failed to open stream: No such file or directory in /home/qaemfari/domains/qaemfar.ir/public_html/index.php on line 34;

این فایل autoload.php وجود داره اما نمیدونم چرا این خطا را میده؟؟

ثبت پرسش جدید

پاسخ‌ها

26
محمدرضا
محمدرضا
@heydari1200
بهترین پاسخ

سلام امیدوارم حالت خوب باشه
فقط کافیه سه تا پوشه بیای عقب و آدرس vendor رو بدی
دایرکت ادمین با cpanel فرق می‌کنه اون publichtml یه shortcut هست و خود فولدر اصلی داخل پوشه دامین هست باید از اونجا آدرس بدی کار دیگه هم نمی‌خواد بکنی فقط همین

Arshiamohammadei
Arshiamohammadei
@Arshiamohammadei

تخصص: وب و هوش مصنوعی

میشه لطفا لیست دایرکتوری هاتون رو بدید
و آیا تنظیمات تغییر مسیر فایل public رو توی config تغییر داده اید؟

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@Arshiamohammadei
ارادت این از لیست پوشه ها
 تصویر

مسیر فایل پابلیک هم دستکاری نکردم..

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

مهدی
مهدی
@mahdidv

تخصص: Backend Developer

ایا محتویات فالدر public روبه public_html انتقال دادید؟
ورژن php هم حتما روی 8.1 بذارید از روی پنل

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@mahdidv
بله محتویات پابلیک رو هم انتقال دادم
ورژن php هم روی ۸.۲ تنظیمه

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@Arshiamohammadei
@mahdidv
این خطا هم الان میده

[Wed Apr 12 00:38:50.566353 2023] [core:alert] [pid 2116666:tid 140148112934656] [client 5.213.161.126:0] /home/qaemfari/domains/qaemfar.ir/public_html/.htaccess: Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration
مهدی
مهدی
@mahdidv

تخصص: Backend Developer

توی فایل htaccess درون فالدر public_html ا ز php_flag استفاده کردین؟ ببینید هست یا نه اگر هست کامنتش کنید.

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@mahdidv
درست نشد😥

مهدی
مهدی
@mahdidv

تخصص: Backend Developer

میشه یه عکس از htaccess بدین

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@mahdidv
بفرمایید
 تصویر

مهدی
مهدی
@mahdidv

تخصص: Backend Developer

ورژن لاراول چنده ؟
و اینکه روی php 8.1 بذارید ببینید حل میشه

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@mahdidv
لاراول روی لوکال ورژنش هست ۸.۸۳.۲۷
ورژن php سرور رو هم تغییر دادم فرقی نکرد

Arshiamohammadei
Arshiamohammadei
@Arshiamohammadei

تخصص: وب و هوش مصنوعی

سلام دوست خوبم
ببین من تاحالا با این پنل هاست کار نکردم ولی چند پروژه لاراول روی هاست اشتراکی دارم
اول اینکه ببین کل سایت روی چه پوشه ی بالا میاد فکرکنم public_html باشه
تمامی فایل و پوشه های لاراول رو اونجا بریز
بعد بیا پوشه public رو که مال لاراول هست تمامی فایل های داخلشو وراد public_html کن یه جوری که index.php توی public_html باشه
بعد توی پوشه config لاراول دسترسی فایل public رو تغیییر بده خلاصه حرفام توی این آموزش ها هست
https://www.aparat.com/v/2Fs3e
https://www.aparat.com/v/eldqN

Arshiamohammadei
Arshiamohammadei
@Arshiamohammadei

تخصص: وب و هوش مصنوعی

اگه باز هم با خطای 500 برخورد کردی یک بار تنظیمات و فایل های پیکربندی دیتابیس و کش رو برسی کن و اگه بازهم مشکل داشت دستور

php composer install

و بعد

php composer update

اگه از تکنولژی های مثل ui یا هرچی استفاده میکنی این دستور هم بزن

npm install && npm run dev
Arshiamohammadei
Arshiamohammadei
@Arshiamohammadei

تخصص: وب و هوش مصنوعی

اگه به فایل php.ini دسترسی داری توی هاست اینو ویرایش یا وارد کن

display_startup_error on
max_input_vars = 2000
html_errors on
allow_call_time_pass_reference 1
magic_quotes_gpc on
Arshiamohammadei
Arshiamohammadei
@Arshiamohammadei

تخصص: وب و هوش مصنوعی

فایل .httacess باید به این صورت باشه

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

ببین اگه تموم اینا جواب نداد
یه بار کل پروژه رو توی اون هاستت حذف کن روی لوکال هاستی که باهاش کارکردی همه ی اون دستورات و کار هارو که گفتم انجام بده بعد با اموزش آپلود لاراول روی هاست اشتراکی سایتت رو راه اندازی کن
انشالله که درست شه

Arshiamohammadei
Arshiamohammadei
@Arshiamohammadei

تخصص: وب و هوش مصنوعی

یه عکس از فایل public_html هم بده

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@Arshiamohammadei
سلام مجدد ممنون از وقتی که گذاشتی اما بازهم درست نشد تمام کارهایی هم که گفتی کردم اما باز خطای زیر را دارم

4861184] [client 54.187.253.174:0] AH01071: Got error 'PHP message: PHP Warning:  require(/home/qaemfari/domains/qaemfar.ir/public_html/../vendor/autoload.php): Failed to open stream: No such file or directory in /home/qaemfari/domains/qaemfar.ir/public_html/index.php on line 34PHP

اون نکته ای که برای php.ini گفتی واسه نشون دادن خطاست؟؟چجوری باید php.ini داخل هاست رو تغییر داد؟؟
اینم عکس از public-html که گفته بودی
 تصویر

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@Arshiamohammadei
@mahdidv
این باز هم خطای زیر را میده

[Thu Apr 13 01:13:59.597082 2023] [proxy_fcgi:error] [pid 2535001:tid 140148844861184] [client 54.187.253.174:0] AH01071: Got error 'PHP message: PHP Warning:  require(/home/qaemfari/domains/qaemfar.ir/public_html/../vendor/autoload.php): Failed to open stream: No such file or directory in /home/qaemfari/domains/qaemfar.ir/public_html/index.php on line 34PHP message: PHP Fatal error:  Uncaught Error: Failed opening required '/home/qaemfari/domains/qaemfar.ir/public_html/../vendor/autoload.php' (include_path='.:/usr/local/php81/lib/php') in /home/qaemfari/domains/qaemfar.ir/public_html/index.php:34\nStack trace:\n#0 {main}\n  thrown in /home/qaemfari/domains/qaemfar.ir/public_html/index.php on line 34'

نمیدونم چرا با پشتیبانی هم تماس گرفتم رفتند یک فایل HTML گذاشتند توی PUBLIC_HTML و گفتند این رو نشون میده پس مشکل از سمت ما نیست ..
اصن مگه نباید ویو ها را توی پوشه ریسورس قرار داد؟
فایل AUTOLOAD داخل VENDOR رو هم بررسی کردم به این شکله

<?php

// autoload.php @generated by Composer

if (PHP_VERSION_ID < 50600) {
    if (!headers_sent()) {
        header('HTTP/1.1 500 Internal Server Error');
    }
    $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
    if (!ini_get('display_errors')) {
        if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
            fwrite(STDERR, $err);
        } elseif (!headers_sent()) {
            echo $err;
        }
    }
    trigger_error(
        $err,
        E_USER_ERROR
    );
}

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInit74f307f8201ccffdee285d94473bc7e5::getLoader();

در حالی که توی اکثر پروژه ها به این شکله

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInita0d48a1316ed124f747ebd9b9c05d3a6::getLoader();

رفتم تغییرش دادم فرقی نکرد🤦🏼‍♂️

Arshiamohammadei
Arshiamohammadei
@Arshiamohammadei

تخصص: وب و هوش مصنوعی

ببین به هیچی دست نزن اینجارو خوب اومدی فعلا الان که گفتم تمام فایل ها و پوشه های داخل public_html رو پاک کن و پوشه ها و فایل های لاراول رو بببر بزن توی public_html
الان این خطا به این معنیه که پوشه vendor موجود نیست
بعد الان یه عکس دیگه از فایل ها و پوشه های لاراولت بده توی public_html یادت نره حتما فایل vendor هم توی public_html باشه
بعد از فایل index.php یه عکس بده تا بگم کجا رو ویرایش کنی
یه عکس هم از فایل AppServiceProvider.php که در مسیر app/Providers بده اونجا هم ویرایش کنی بعد میمنونه فایل server.php اونجا هم یه عکس دیگه بده تا تغییراتش رو بفرستم برات
هیچ دستی هم به فایل های vendor و کامپوزر نزن اگه دست کاری کردی حتما به حالت اول برگردون

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@Arshiamohammadei
ممنون ازت همه را ریختم توی public-html درست شد..اما این کار از نظر امنیتی مشکلی نداره؟؟
AppServiceProvider.php

<?php

namespace App\Providers;

use mysql_xdevapi\Schema;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        \Illuminate\Support\Facades\Schema::defaultStringLength(191);
        Paginator::useBootstrap();

    }
}

server.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) ?? ''
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
}

require_once __DIR__.'/public/index.php';

این هم اون دو تا موردی که گفته بودی..

صفحه 1 از 2

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

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