Mesin ini menggunakan persekitaran tetingkap, semuanya normal, tetapi apabila digunakan ke sistem Linux (dengan nginx), apabila diakses, pengawal dan kaedah boleh dilaksanakan secara normal, dan halaman juga boleh menjadi output, tetapi halaman output hilang . fail css, saya menyemak dan mendapati ralat 500 telah dialihkan ke folder awam
Struktur direktori saya ialah:
public/web/css/css.css
Nama domain ialah:
aaa.com
Mengakses secara langsung aaa.com akan melaksanakan Public/index.php (kerana nginx disediakan untuk mengubah hala permintaan ke folder awam), dan halaman juga boleh dikeluarkan seperti biasa, tetapi halaman diminta:
url:aaa.com/web/css/css.css
Tetapi ia adalah 500 kesilapan. Saya tidak dapat memahaminya
server {
listen 80;
server_name xxx;
access_log xxx main;
root xxx;
#root xxx;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
#fastcgi_split_path_info ^(.+\.php)(/.+)$;
}
}
Walaupun anda boleh mengakses halaman utama sekarang, terdapat satu lagi masalah sekarang Projek saya mempunyai bahagian hadapan dan bahagian belakang boleh diakses, tetapi bahagian belakang tidak boleh diakses . Saya menggunakan RouteProvider Kaedah peta dalam .php mengkonfigurasi dua fail penghalaan:
public function map(Router $router) {
//加载前台路由文件
$router->group([
'namespace' => 'App\Http\WebControllers',
// 'prefix' => 'Web',//引入前缀
//'middleware' => 'some_common_middleware',
], function ($router) {
require app_path('Http/routes/routes.php');
});
//加载后台路由文件
$router->group([
'namespace' => 'App\Http\AdminControllers',
'middleware' => 'App\Http\Middleware\LoginMenuMiddleware',
'prefix' => 'Am',//引入前缀
], function ($router) {
require app_path('Http/routes/admin_routes.php');
});
}
Sekarang saya tidak boleh log masuk ke bahagian belakang, iaitu, xxx.com/Am/Index/index akan menghantar ralat 500, dan ajax di bahagian hadapan tidak boleh dilaksanakan.
Terima kasih atas jemputan.
Secara peribadi fikir terdapat beberapa kesilapan dalam penggunaan di Linux:
1.
2. Bahagian pembangunan folder di bawah laravel menggunakan pautan lembut.
3.index.php Di bawah awam, sumber statik harus sepadan dengan awam.
Jika masalah tidak diselesaikan, sila siarkan direktori struktur projek anda
Terima kasih atas jemputan!
Anda hanya boleh mengecualikan mereka satu persatu seperti ini
Selesaikan masalah cache fail
Masalah kebenaran direktori, ubah suai kebenaran direktori kepada 755
500 ialah ralat pelayan dalaman, yang bermaksud terdapat ralat dalam kod anda, bukan 404, Tidak dijumpai
Pengguna dan kumpulan mesti ditetapkan dalam konfigurasi php-fpm
Ubah suai konfigurasi kumpulan pengguna
Tetapkan kumpulan pengguna kepada nginx
Direktori laravel berikut memerlukan kebenaran menulis
Konfigurasi vhost untuk laravel adalah seperti berikut:
500 Ralatnya sangat mudah ~
500 Jika ada kesilapan, pasti akan ada gesaan
Panel rangkaian dalam penyemak imbas mungkin tidak dapat menangkap keputusan Anda boleh membukanya terus dalam nota baharu untuk melihat petua
.Atau semak fail di bawah direktori ini Setiap kali ralat berlaku, log akan dijana
.tulis semula tidak berfungsi. . Anda mesti terlebih dahulu menentukan sama ada fail itu wujud sebelum menulis semula
Sebaik-baiknya menyiarkan ralat yang dikembalikan oleh rangka kerja
Terima kasih kepada semua atas bantuan anda Sayangnya ia hanya boleh diguna pakai oleh tuhan yang hebat pada akhirnya Jika situasi yang sama seperti saya berlaku, sila Periksa dahulu sama ada terdapat fail cache dalam direktori bootstrap/cache pelayan Jika ada, sila kosongkan dan cuba lagi Ia memang disebabkan oleh kewujudan cache