Mam kilka modułów Perla zainstalowanych na moim komputerze hostingowym w ~/perl
, w jaki sposób dodać je do ścieżki modułu Perla? Ustawienie PERL5LIB
lub unshift
ścieżek do @INC
na pewno działa, ale zmienna środowiskowa nie pomaga, gdy działa jako skrypt CGI, a sposób @INC
nie jest bardzo przenośny. Czy istnieje lepszy sposób? To musi być powszechny problem, czy czegoś brakuje?Jak ustawić ścieżkę integracji Perla dla modułów skryptu CGI?
Odpowiedz
PERL5LIB działa dobrze dla skryptów CGI. Musisz tylko ustawić zmienną we właściwym miejscu, na przykład konfigurację serwera. Z jakiego serwera internetowego korzystasz? W Apache używam dyrektywy SetEnv z mod_env.
@INC jest przenośny. Ścieżki, które tam umieścisz, mogą nie być takie same na każdym komputerze, ale nie powinieneś mieć problemu z samą zmienną.
Czy Przeczytaj FAQ wpisy w perlfaq8:
Czystsze sposób to zrobić imo jest:
use lib "/path/" ;
istnieją inne ciekawe i dobre sposoby, aby to zrobić, które można znaleźć tutaj:
http://www.slideshare.net/pfig/cpan-training-presentation/
Również re: CGI skrypty, możesz zdefiniować ścieżki PERL5LIB dla swojego Enge CGI, to zależy od twojego hosta.
Niektóre serwery Webhost pozwalają na specyficzne sterowanie zmiennymi env dla środowiska CGI i musisz je ustawić, inne mogą mieć listę "zezwoleń", która pozwala zmiennym widocznym w czasie początkowym pojawić się w zasięgu lokalnym.
Może pomóc w przeczytaniu tego, jak to zrobić na określonym serwerze HTTP.
Jest jeszcze jedna opcja, jeśli ustawienie ENV nie jest do gustu: local::lib
jakie wyszukiwania pewne predefiniowane ścieżki automatycznie.
+1 Wystarczy zauważyć, że jest ignorowany PERL5LIB trzeba mieć włączony tryb skaza ... http: //perldoc.perl.org/perlsec.html#Taint-mode-and-%40INC – draegtun
- 1. Jak analizować $ QUERY_STRING ze skryptu CGI Bash
- 2. Jak ustawić poziom precyzji dla bitu Perla?
- 3. Jak ustawić ścieżkę dołączania pliku podczas uruchamiania skryptu z cmd
- 4. Jak znaleźć standardowy katalog site_perl dla Perla?
- 5. Jak ustawić ścieżkę biblioteki C# dla aplikacji?
- 6. Jak dynamicznie zmieniać ścieżkę modułu Perla?
- 7. Jak dołączyć plik zawierający wszystkie wymagane nazwy modułów Perla?
- 8. Czy metoda start_html() cgi może mieć wiele atrybutów -skryptu?
- 9. SQL * Plus wewnątrz skryptu Perla
- 10. Instalowanie modułów Perla na systemie Android OS
- 11. Jak mogę automatycznie zaktualizować wersję $ modułów Perla za pomocą Git?
- 12. Używanie obu ARGV i CGI w skrypcie Perla
- 13. Jak przesłonić flagi kompilacji perla podczas budowania modułów?
- 14. Jak ustawić inny układ szablonu dla różnych modułów w Symfony
- 15. Określ ścieżkę wykonującego skryptu bash
- 16. Angularjs - jak ustawić wartości modułów w usłudze?
- 17. Jak ustawić ścieżkę dla Kairu w Ubuntu-12.04?
- 18. Trwale ustawić ścieżkę schematu PostgreSQL
- 19. Przekazywanie argumentów skryptu Pythona do testowania modułów
- 20. Jakieś kryteria, gdy $ 0 skryptu Perla staje się puste?
- 21. Jak dodać numer integracji kodu Xcode do skryptu budowania
- 22. Python - jak zmienić domyślną ścieżkę podczas instalacji modułów?
- 23. Uzyskaj ścieżkę do skryptu Swift z poziomu skryptu
- 24. Jak ustawić ścieżkę dołączania PHP przez .htaccess?
- 25. Amazon Elastic Beanstalk: jak ustawić ścieżkę wsgi?
- 26. Gradle: jak ustawić ścieżkę klas konfiguracji JavaExec?
- 27. Dlaczego moje CGI Perl narzeka na "Przedwczesne zakończenie nagłówków skryptu"?
- 28. Jak zorganizować program CGI w Perlu?
- 29. Jak mogę uniknąć sudo-ing podczas instalowania modułów Perla z "cpan"?
- 30. Jak zaprojektować testy jednostek dla wielu modułów Perla w tej samej dystrybucji?
Dzięki, nie wiedziałem o dyrektywie SetEnv. Właśnie tego szukałem. – zoul
Nie działa to we wszystkich konfiguracjach serwerów - niektóre wyłączają SetEnv, az tego, co czytam, inne pozwalają tylko na ustawienie zmiennych środowiskowych rozpoczynających się od HTTP_. Pewnie jakiś środek bezpieczeństwa. – user1618143