Własny plik php.ini – przykłady
Do sprawdzenia ustawień skorzystamy w pliku phpinfo.php w którym powinien znaleźć się kod:
<?php phpinfo(); ?> |
Następnie wywołujemy go za pomocą przeglądarki i wyświetlą nam się wszystkie ustawienia.
Wszystko co jest tutaj opisane wykonujemy w jednym katalogu, najlepiej głównym katalogu domeny.
Zaczynamy od odczytania wartości Server API z pliku phpinfo.php. Następnie kierując się nią wybieramy metody dla Apache, CGI lub FastCGI (jeśli widoczne jest tam CGI/FastCGI to jest to FastCGI)
Aktualny plik php.ini i wszystkie dyrektywy: Najnowszy php.ini ze wszystkimi dyrektywami
Spis dyrektyw razem z ich typem: Lista dyrektyw php.ini
Informacja: Wszelkie ustawienia dziedziczą podkatalogi
PHP uruchamiane jako moduł Apache
php.ini w głównym katalogu
Stwórz po prostu plik php.ini w głównym katalogu w którym znajduje się phpinfo.php a do pliku php.ini wklej:
memory_limit =13M |
Następnie wywołaj plik phpinfo.php lub odśwież stronę i sprawdź czy wartość memory_limit wynosi 13, jeśli nie lub wyskoczył ci błąd 500 usuń plik php.ini
Jeśli wyświetliła się wartość 13 to możesz zmieniać dowolne dyrektywy za pomocą tego pliku.
Za pomocą pliku .htaccess
To zadziała jeśli php jest uruchomiony jako moduł Apache. Otwórz plik .htaccess, jeśli nie istnieje to go stwórz, w głównym katalogu tam gdzie phpinfo.php i dodaj w nim linijkę:
php_value memory_limit 13M |
Następnie wywołaj plik phpinfo.php lub odśwież stronę i sprawdź czy wartość memory_limit wynosi 13, jeśli nie lub wyskoczył ci błąd 500 usuń plik php.ini
Jeśli wyświetliła się wartość 13 to możesz zmieniać dowolne dyrektywy za pomocą tych wpisów.
Dla wartości logicznych służy:
php_flag name on|off |
np.:
php_flag magic_quotes_runtime off |
PHP uruchamiane jako CGI lub FastCGI
Często php jest uruchamiane jako FastCGI lub CGI dla obydwóch typów metoda wczytania własnego php.ini jest taka sama, więc zaczynamy od utworzenia pliku o nazwie np. file.php do którego wklejamy taki kod:
<?php echo dirname(__FILE__).'/php.ini'; ?> |
Wgrywamy go do głównego katalogu i wywołujemy, następnie wyświetli nam się ścieżka podobna do:
/home/tosiek/domains/tosiek.pl/public_html/php.ini |
Kopiujemy ją sobie. Potem odszukujemy skryptu FastCGI lub CGI za którego pomocą jest uruchamiany interpreter PHP, najczęściej znajduje się w katalogu /cgi-bin/ no pod nazwą php-fcgi lub php-cgi. Ściągamy ten plik na dysk i otwieramy dowolnym edytorem, treść będzie podobna do tej:
#!/bin/sh export PHP_FCGI_CHILDREN=3 exec /user/htdocs/cgi-bin/php5.cgi |
Pierwsza możliwość – dodanie parametru -c
Modyfikujemy linijkę exec /user/htdocs/cgi-bin/php5.cgi dodając parametr -c ze ścieżką do pliku php.ini (odczytaną z pliku file.php):
#!/bin/sh export PHP_FCGI_CHILDREN=3 exec /user/htdocs/cgi-bin/php5.cgi -c /home/tosiek/domains/tosiek.pl/public_html/php.ini |
Zapisujemy ten plik i wgrywamy na serwer.
Druga możliwość – ustawienie zmiennej środowiskowej PHPRC
Przed linijką exec /user/htdocs/cgi-bin/php5.cgi dodajemy linijkę:
export PHPRC=/home/tosiek/domains/tosiek.pl/public_html/php.ini |
oczywiście wartość PHPRC zastępujemy wartością odczytaną z pliku file.php.
Gotowy plik powinien podobnie wyglądać:
#!/bin/sh export PHP_FCGI_CHILDREN=3 export PHPRC=/home/tosiek/domains/tosiek.pl/public_html/php.ini exec /user/htdocs/cgi-bin/php5.cgi |
Zapisujemy ten plik i wgrywamy na serwer.
Niezależnie od metody w folderze w którym utworzyliśmy plik file.php tworzymy plik php.ini do pliku php.ini wklej:
memory_limit =13M |
Następnie wywołaj plik phpinfo.php lub odśwież stronę i sprawdź czy wartość memory_limit wynosi 13, jeśli nie lub wyskoczył ci błąd 500 usuń plik php.ini
Jeśli wyświetliła się wartość 13 to możesz zmieniać dowolne dyrektywy za pomocą tego pliku.
Wartość dla Loaded Configuration File powinna być taka jak odczytana z pliku file.php
Najnowsze komentarze