Laravel - przenoszenie projektu na serwer

Laravel - przenoszenie projektu na serwer
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

Hej, mam dość nietypowy problem. Czy spotkał się może ktoś z problemem podczas przenoszenia projektu na serwer produkcyjny?
Przez ssh połączyłem się z serwerem, sklonowałem repo, domena kieruje na katalog public projektu, po przejściu na stronę oczom ukazuje się fragment kodu php z pliku index.php

Kopiuj
make(Kernel::class); $response = tap($kernel->handle( $request = Request::capture() ))->send(); $kernel->terminate($request, $response);

o co tu może chodzić? Serwer to VPS
Podczas próby instalowanie zależności composer install pojawia się problem z proc_open, mianowicie The Process class relies on proc_open, which is not available on your PHP installation
problem obszedłem uruchamiając

Kopiuj
php -d "disable_functions=" composer.phar install

Dzięki

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9012
1

https://github.com/BookStackApp/BookStack/issues/735

Chances are your shared host has explicitly disabled proc_open on their PHP instance and there's no way around it.

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
3

Zbuduj projekt u siebie wrazie co i wyślij utworzony. Najlepiej go spakować, wysłać spakowany i rozpakować już w miejsce docelowe.

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

@cerrato: wykonałem po kolei

Kopiuj
php -r "file_exists('.env') || copy('.env.example', '.env');"
php artisan key:generate
php artisan cache:clear
php artisan view:clear
php artisan package:discover

jednak to nic nie pomogło

@jurek1980
projekt mam już na serwerze, zależności też zainstalowane, jeśli możesz, co to zmieni jak wyślę projekt przez FTP?

Czy całe te problemy spowodowane są brakiem obsługi proc_open??

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
1

Nie wiem, czy się wszystko dobrze zbudowało.
Jakby tak było to raczej powinieneś dostać błąd w stylu:
"The Process class relies on proc_open, which is not available on your PHP installation."
I to już z templatem błędu laravelowego.

Edit.
Wyłącz u siebie lokalnie proc_open i spróbuj uruchomić projekt.
https://www.cyberciti.biz/faq/linux-unix-apache-lighttpd-phpini-disable-functions/

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

Okej, jeszcze jedna rzecz którą zauważyłem na tym serwerze. Po skasowaniu kodu dodałem prosty plik index.php z napisem typu "Hello". Nic się nie wyświetla. Znaczy, jeśli nie ma pliku jest forbidden po dodaniu pliku biała strona.
Zastanawiam się czy to nie problem z serwerem

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
2

A tradycyjne też nie działa? Umieść w głównym katalogu i usuń .htaccess czy tam inne ustawienia jak to nie apache.

Kopiuj
<?PHP
    phpinfo();
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

Też nie działa, biała strona

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
1

No to pozostaje tylko posprawdzać wszystkie ustawienia webserwera. Jak to Twój VPS i masz do wszystkiego dostęp to kombinuj.

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

To VPS z administracją od firmy, trochę ograniczony. Napisałem do nich

masterc
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 425
0
michalos25 napisał(a):

Okej, jeszcze jedna rzecz którą zauważyłem na tym serwerze. Po skasowaniu kodu dodałem prosty plik index.php z napisem typu "Hello". Nic się nie wyświetla. Znaczy, jeśli nie ma pliku jest forbidden po dodaniu pliku biała strona.

Zastanawiam się czy to nie problem z serwerem

bo jestes nieuważny i po skasowaniu powinienes zrobic taka sama nazwe katalogu a w nim katalog PUBLIC i w nim dopiero index php :)

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
2

@masterc: ale jak usunął.htaccess to nie ma przekierowania na Public. Tym samym zawartość Index.php umieszczona w www powinna się wyświetlić.
Ja tam nie umiem ani programować ani administrować, ale tak mi się na mój chłopski rozum wydaje.

masterc
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 425
0

@jurek1980: no nie, bo w pliku sites-available / twojadomena.conf masz ustawiony DocumentRoot

Kopiuj
ServerAlias www.domena.pl
DocumentRoot /var/www/twoj_projekt/public

wiec ja skasujesz plik twoja_domena w pliku www no to po wpisaniu domeny ona cie kieruje na www/twoj_projekt/public
htaccess nie ma tu nic do gadania

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
1

@masterc: skąd przekonanie, że coś tam w ogóle bylo konfigurowane, jeśli to VPS dla jednej strony?

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
1

Okej, support rozwiązał problem. Chodziło o coś z konfiguracją php. Dzięki wszystkim za pomoc

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.