Pliki cookies

Jeżeli wchodzisz na tę stronę i nie masz zablokowanych plików cookie w przeglądarce jednocześnie zgadzasz się na zapisywanie tych plików na Twoim dysku.
Szczegóły są w zakładce "Pliki cookies"

Archiwa
Kategorie

DreamHost – jak zmodyfikować php.ini

Zwykle dostawca hostingu ustawia nam php.ini w sposób „uniwersalny”, czyli pasujący teoretycznie wszystkim a praktycznie nikomu. A tu potrzebujemy zmienić coś, ale przecież dostawca nas nie wpuści do swojego /etc!

Co zrobić?

Załóżmy, że naszą domeną jest test.com i jej pliki są na katalogu ~/test.com.

Na początek tworzymy odpowiedni katalog i kopiujemy oryginalny php.ini do siebie.

cd test.com
mkdir cgi-bin
cp /etc/php5/cgi/php.ini cgi-bin/php.ini

Teraz tworzymy plik wrappera

vi ~/test.com/cgi-bin/php-wrapper.cgi

i wklejamy treść

#!/bin/sh
exec /dh/cgi-system/php5.cgi $*

Trzeba jeszcze ustawić odpowiednie prawa dostępu

chmod 755 cgi-bin
chmod 755 ./cgi-bin/php-wrapper.cgi
chmod 640 ./cgi-bin/php.ini

I wskazać serwerowi, że ma pobrać nasz plik php.ini. A by to zrobić należy wpisać te linie w plik ~/test.com/.htaccess :

Options +ExecCGI
AddHandler php5-cgi .php
Action php-cgi /cgi-bin/php-wrapper.cgi
Action php5-cgi /cgi-bin/php-wrapper.cgi

Od tej chwili php powinien pracować według Waszego pliku ini.

Mnie na przykład było to potrzebne do ustawienia timeoutu na zapytania do MySQL. W jednym z moich serwisów niezakończone pytania zamulały PS i żarły pamięć.

Wystarczyło ustawićw pliku php.ini

mysql.connect_timeout = 10

i każde pytanie wiszące dłużej niż 10 sekund jest przerywane. Ponieważ normalnie każda strona jest generowana  w czasie poniżej 1 sekundy, 10 sekund sugeruje, że coś się zatkało i nie warto już czekać.

Od razu zużycie pamięci znacząco spadło.

3 odpowiedzi na „DreamHost – jak zmodyfikować php.ini”

  • A wystarczyło: ini_set('max_execution_time','10');

  • Widocznie miałeś prawa admina na tym serwerze … w ddl2.pl takich praw nie ma nikt i nie da się ściągnąć php.ini ani tym bardziej wydać komendy …

  • Ależ te komendy można zastąpić odpowiednikami w FTP!
    A wzorcowy php.ini można wziąć sobie skądkolwiek. Jak potrzeba, mogę wystawić na serwerze.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *