• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przenoszenie rozwiązanie php na inny serwer

Cloud VPS
+1 głos
284 wizyt
pytanie zadane 26 września 2024 w PHP przez Beginner555 Bywalec (2,090 p.)
Cześć,
Stworzyłem pewne rozwiązanie/skrypt w php na localhost użyłem do tego biblioteki zewnętrznej fuse w tym rozwiązaniu, która została zainstalowana przez composer.
Mój problem polega na tym, że gdy przerzucam wszystkie pliki tego rozwiązania włącznie z katalogiem vendor, to nie znajduje mi te zewnętrznej biblioteki fuse i trzeba od nowa przez ssh inicjować composer i biblioteki zewnętrzne. I później znowu jak zmienię lokalizację tego rozwiązania np. przerzucę do innego katalogu na inną domenę to znowu trzeba powtórzyć te kroki.

Czy jest jakaś możliwość aby rozwiązanie było takie uniwersalne i nie trzeba było za każdym razem po przeniesieniu inicjować ten composer?

1 odpowiedź

+3 głosów
odpowiedź 26 września 2024 przez Comandeer Guru (607,100 p.)

W sensie tak trochę do tego został stworzony Composer – żeby nie trzeba było kopiować za każdym razem całego katalogu vendor, tylko wrzuca się apkę (którą najczęściej się ciągnie bezpośrednio z gita) i odpala Composera, żeby zaciągnął wszystkie zależności. Taki jest rekomendowany workflow. Jakby pokombinować, to można by zrobić całkowicie zautomatyzowany proces, który dostaje info, że wpadły zmiany do repozytorium na GH (dzięki np. webhookom), więc od razu je zaciąga i instaluje depsy.

komentarz 26 września 2024 przez Beginner555 Bywalec (2,090 p.)
A w tym moim przypadku to rozwiązanie jest dosyć małe bo stworzyłem prostą wyszukiwarkę do sklepu internetowego, która korzysta z biblioteki fuse. Chciałbym właśnie wysłać te rozwiązanie jako taki gotowy plik z funkcjami do korzystania, nie chcę aby na sklepie po stronie klienta musiał konfigurować composer i zaciągał zależności.
komentarz 26 września 2024 przez Comandeer Guru (607,100 p.)

To możesz spróbować zainstalować zależności bez Composera – ale nie wiem, czy to jest warte świeczki.

A jaki dokładnie błąd się pojawia, jak próbujesz po prostu wrzucić katalog vendor/ na serwer?

komentarz 26 września 2024 przez Beginner555 Bywalec (2,090 p.)
Fatal error: Uncaught Error: Class "Fuse\Fuse" not found in ścieżka do pliku gdzie został wywołany błąd.
Czyli jakby po prostu nie mogło znaleźć tej biblioteki fuse.
komentarz 26 września 2024 przez Comandeer Guru (607,100 p.)

Trochę dziwne – tak na oko ścieżki nie powinny się zmienić. Między jakimi systemami przenosisz? Na serwerze zakładam, że jest jakiś Linux, a na kompie masz? Możliwe, że Composer generuje jakieś dziwne ścieżki dla Windowsa i one nie działają na Linuksie.

Dodatkowo, czy dołączasz w apce plik vendor/autoload.php przed wczytywaniem czegokolwiek?

komentarz 27 września 2024 przez Beginner555 Bywalec (2,090 p.)

Robiłem dwa przenoszenia. Pierwsze między windowsem (localhost) a serwerem zdalnym linux, później na serwerze przez ssh skonfigurowałem composer jeszcze raz sprawdziłem czy rozwiązanie zadziałało i wtedy skopiowałem wszystkie pliki do innego katalogu na serwerze pod inną domeną i znowu wyskoczył ten błąd i trzeba było konfigurować composer od nowa. 

Do tego jeśli chodzi o plik vendor/autoload.php no to on się przesyła w trakcie kopiowania plików i przesyłania plików do innych lokalizacji, ale później jak rozwiązanie nie działa to usuwam wszystkie pliki od composer i inicjuję composer przez ssh jeszcze raz i wtedy zaczyna działać.

Podobne pytania

0 głosów
0 odpowiedzi 1,173 wizyt
pytanie zadane 16 lipca 2017 w Offtop przez chmod96 Obywatel (1,380 p.)
+1 głos
1 odpowiedź 774 wizyt
0 głosów
2 odpowiedzi 2,649 wizyt

93,485 zapytań

142,417 odpowiedzi

322,765 komentarzy

62,898 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...