سلام دوستان عبادتتون قبول باشه
من یک وبسایت بارگذاری کردم روی هاست و به خطای 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 وجود داره اما نمیدونم چرا این خطا را میده؟؟
سلام امیدوارم حالت خوب باشه
فقط کافیه سه تا پوشه بیای عقب و آدرس vendor رو بدی
دایرکت ادمین با cpanel فرق میکنه اون publichtml یه shortcut هست و خود فولدر اصلی داخل پوشه دامین هست باید از اونجا آدرس بدی کار دیگه هم نمیخواد بکنی فقط همین
میشه لطفا لیست دایرکتوری هاتون رو بدید
و آیا تنظیمات تغییر مسیر فایل public رو توی config تغییر داده اید؟
ایا محتویات فالدر public روبه public_html انتقال دادید؟
ورژن php هم حتما روی 8.1 بذارید از روی پنل
@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
توی فایل htaccess درون فالدر public_html ا ز php_flag استفاده کردین؟ ببینید هست یا نه اگر هست کامنتش کنید.
سلام دوست خوبم
ببین من تاحالا با این پنل هاست کار نکردم ولی چند پروژه لاراول روی هاست اشتراکی دارم
اول اینکه ببین کل سایت روی چه پوشه ی بالا میاد فکرکنم public_html باشه
تمامی فایل و پوشه های لاراول رو اونجا بریز
بعد بیا پوشه public رو که مال لاراول هست تمامی فایل های داخلشو وراد public_html کن یه جوری که index.php توی public_html باشه
بعد توی پوشه config لاراول دسترسی فایل public رو تغیییر بده خلاصه حرفام توی این آموزش ها هست
https://www.aparat.com/v/2Fs3e
https://www.aparat.com/v/eldqN
اگه باز هم با خطای 500 برخورد کردی یک بار تنظیمات و فایل های پیکربندی دیتابیس و کش رو برسی کن و اگه بازهم مشکل داشت دستور
php composer install
و بعد
php composer update
اگه از تکنولژی های مثل ui یا هرچی استفاده میکنی این دستور هم بزن
npm install && npm run dev
اگه به فایل php.ini دسترسی داری توی هاست اینو ویرایش یا وارد کن
display_startup_error on
max_input_vars = 2000
html_errors on
allow_call_time_pass_reference 1
magic_quotes_gpc on
فایل .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
سلام مجدد ممنون از وقتی که گذاشتی اما بازهم درست نشد تمام کارهایی هم که گفتی کردم اما باز خطای زیر را دارم
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 که گفته بودی
@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();
رفتم تغییرش دادم فرقی نکرد🤦🏼♂️
ببین به هیچی دست نزن اینجارو خوب اومدی فعلا الان که گفتم تمام فایل ها و پوشه های داخل public_html رو پاک کن و پوشه ها و فایل های لاراول رو بببر بزن توی public_html
الان این خطا به این معنیه که پوشه vendor موجود نیست
بعد الان یه عکس دیگه از فایل ها و پوشه های لاراولت بده توی public_html یادت نره حتما فایل vendor هم توی public_html باشه
بعد از فایل index.php یه عکس بده تا بگم کجا رو ویرایش کنی
یه عکس هم از فایل AppServiceProvider.php که در مسیر app/Providers بده اونجا هم ویرایش کنی بعد میمنونه فایل server.php اونجا هم یه عکس دیگه بده تا تغییراتش رو بفرستم برات
هیچ دستی هم به فایل های vendor و کامپوزر نزن اگه دست کاری کردی حتما به حالت اول برگردون
@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';
این هم اون دو تا موردی که گفته بودی..
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟