Προς το περιεχόμενο

laravel


k33theod

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Έχω ένα πρόβλημα στο laravel στο localhost και δεν μπορώ να καταλάβω τι πάει λάθος

Στο αρχείο ρυθμίσεων .env έχω  ASSET_URL = http://localhost:8000/public

το filesystem και το λάθος όπως στις foto.  To layout όπως στη foto.

 

 

Capture.PNG

Capture2.PNG

Capture3.PNG

Επεξ/σία από k33theod
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 ώρες πριν, k33theod είπε

Στο αρχείο ρυθμίσεων .env έχω  ASSET_URL = http://localhost:8000/public

Νομίζω αυτό φταίει. Αν αφαιρέσεις το ASSET_URL από τα environmental variables, θα ψάχνει αυτόματα στον φάκελο public. Εσύ το ρύθμισες να ψάνει στο url localhost:8000/public το οποίο αντιστοιχεί στο public_html/public/public

Δες λίγο το GET request για το favicon. Το εικονίδιο βρίσκεται στο public φάκελο. Παρόλα αυτά το request έγινε στο localhost:8000/favicon και όχι στο localhost:8000/public/favicon.

Ο λόγος είναι επειδή το αρχείο index.php βρίσκεται στον φάκελο public. Δηλαδή, εκεί γίνεται bootstrap η εφαρμογή σου. Η βοηθητική συνάρτηση asset ψάχνει από τον φάκελο public και έπειτα. Όχι από τον φάκελο public_html.

Άρα για να δουλέψει: Είτε αφαιρείς το ASSET_URL ή ρυθμίζεις το ASSET_URL να είναι ίσο με http://localhost:8000

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@Ponous Έχεις δίκιο.

Τώρα με προβληματίζει το ίδιο που είναι στο server. Έχω το ASSET_URL = https://kiklos.net/public και είναι οκ. Kαι αν το αλλάξω σε https://kiklos.net ψάχνει τα asset στο

https://kiklos.net/css/file.css

 

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ωχ με προβληματισε και μενα αυτο.

στη laravel η το public ειναι public ( οκ ειναι καπως αυτο που εγραψα)

Ο δικος μου χοστ εχει δομη του τυπου root/domain/www οπου το www ειναι το public

Αυτο που εκανα, ειναι να βαλω το app στο root/domain/appname  μαζι με git

και το περιεχομενο του public του laravel στο www με ftp, εκει αλλαζεις μονο τις διαδρομες που εχει το index.php 

<?php
phpinfo();

use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;

define('LARAVEL_START', microtime(true));

/*
|--------------------------------------------------------------------------
| Check If Application Is Under Maintenance
|--------------------------------------------------------------------------
|
| If the application is maintenance / demo mode via the "down" command we
| will require this file so that any prerendered template can be shown
| instead of starting the framework, which could cause an exception.
|
*/

if (file_exists(__DIR__.'/../../dw-site/storage/framework/maintenance.php')) {
    require __DIR__.'/../../dw-site/storage/framework/maintenance.php';
}

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| this application. We just need to utilize it! We'll simply require it
| into the script here so we don't need to manually load our classes.
|
*/

require __DIR__.'/../../dw-site/vendor/autoload.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request using
| the application's HTTP kernel. Then, we will send the response back
| to this client's browser, allowing them to enjoy our application.
|
*/

$app = require_once __DIR__.'/../../dw-site/bootstrap/app.php';

$kernel = $app->make(Kernel::class);

$response = tap($kernel->handle(
    $request = Request::capture()
))->send();

$kernel->terminate($request, $response);

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

16 ώρες πριν, k33theod είπε

Τώρα με προβληματίζει το ίδιο που είναι στο server. Έχω το ASSET_URL = https://kiklos.net/public και είναι οκ. Kαι αν το αλλάξω σε https://kiklos.net ψάχνει τα asset στο

https://kiklos.net/css/file.css

Που μπήκα στο site σου φαίνεται να δουλεύει πάντως. Δεν ξέρω τι προσπαθείς να κάνεις. Θες να μας γράψεις τη δομή και ποιο ακριβώς είναι το πρόβλημα;

Κανονικά https://kiklos.net/css/file.css  πρέπει να ψάχνει διότι το public οδηγεί στο https://kiklos.net Αν όμως δεν ισχύει αυτό τότε έχεις το ίδιο πρόβλημα με το @παπι πιο πάνω και μπορείς να ακολουθήσεις τη λύση του ή να προσθέσεις κάποιο index.php το οποίο να κάνει redirect στο public.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

18 ώρες πριν, Ponous είπε

Που μπήκα στο site σου φαίνεται να δουλεύει πάντως. Δεν ξέρω τι προσπαθείς να κάνεις. Θες να μας γράψεις τη δομή και ποιο ακριβώς είναι το πρόβλημα;

Κανονικά https://kiklos.net/css/file.css  πρέπει να ψάχνει διότι το public οδηγεί στο https://kiklos.net Αν όμως δεν ισχύει αυτό τότε έχεις το ίδιο πρόβλημα με το @παπι πιο πάνω και μπορείς να ακολουθήσεις τη λύση του ή να προσθέσεις κάποιο index.php το οποίο να κάνει redirect στο public.

Ναι δουλεύει γιατί έχω ρυθμίσει το asset_url sto /public αν το αλλάξω σε  χωρίς public όπως εικόνα. Επίσης o server απαντάει σε όλα τα url αν μπεί μπροστά το /public ενώ κανονικά έπρεπε να γυρίζει error 404. Κάτι στις ρυθμίσεις είναι λάθος. Ευχαριστώ όπως και να έχει

Capture4.PNG

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 εβδομάδες αργότερα...
Δημοσ. (επεξεργασμένο)

στο laravel και γενικά σε boostraped  κώδικα, το server root πρέπει να είναι το /var/www/{project_name}/public

Αυτό πρέπει να είναι δηλωμένο στο :
/etc/apache2/sites-available/{site_file}.conf
ή
/etc/nginx/sites-available/{site_file}.conf

Το laravel θεωρεί ότι όλος ο κώδικας είναι πρίν το public και μέσα στο public αυτά που θα είναι στο
 {domain_name}.{tld}/{PUBLIC FOLDER HERE}

,μέσα στο public είναι και το index.php
έξω απο το public είναι ο κώδικάς.

Αυτό έχει ρυθμιστεί έτσι για λόγους ασφάλειας. (κυρίως για αποφυγή local file inclusion )

περισσότερα για ρυθμίσεις:
https://blog.quickadminpanel.com/laravel-public-folder-how-to-configure-domains-for-in-apachenginx/

Επεξ/σία από spaniakos
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...