Skocz do zawartości
Prakson

Konfiguracja lighttpd + php5_cgi

Polecane posty

Witam

Mam swojego VPSa, na nim zainstalowane lighttpd z php5(fastcgi), i mysql.

Potrzebuje uruchomić jeden skrypt, lecz autor pisze, że działa tylko na XAMMPie.

Część skryptu działa lecz czasami dostaje komunikat:

   <b>Fatal error</b>: Uncaught exception 'PDOException' with message  'SQLSTATE[HY000]: General error: 2014 Cannot execute queries while  other unbuffered queries are active. Consider using  PDOStatement::fetchAll(). Alternatively, if your code is only ever  going to run against mysql, you may enable query buffering by setting  the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.' in  /var/www/ots/pot/OTS_Player.php:112  Stack trace:  #0 /var/www/ots/pot/OTS_Player.php(112): PDO->query('SELECT `id`,  `n...')  #1 /var/www/ots/pot/InvitesDriver.php(49): OTS_Player->load('26')  #2 /var/www/ots/pot/OTS_Guild.php(444):  InvitesDriver->listRequests()  #3 /var/www/ots/guilds.php(204): OTS_Guild->listInvites()  #4 /var/www/ots/index.php(112): include('/var/www/ots/gu...')  #5 {main} thrown in <b>/var/www/ots/pot/OTS_Player.php</b> on line <b>112</b>]

 

Teraz mam pytanie czy jest możliwość skonfigurowania serwera tak by ten skrypt działał.

Jest to VPS

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Doinstaluj do php obsługę PDO

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Można prosić dokładniej ponieważ jestem nowy w serwerach, mam skompilować PHP z obsługą PDO czy doinstalować PDO ?

Używam Debiana, wszystko było instalowane z repo.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

a co malu napisał ?

przeczytaj swoje drugie pytanie a potem jeszcze raz przeczytaj jego odpowiedź.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja się pytałem jak mam to zrobić na debianie, czy doinstalować paczke, czy usunąć PHP i je kompilować z obsługą PDO.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

apt-get install php5-mysql

(Jeżeli php instalowałeś w debianie)

Jeżeli jednak je samemu kompilowałeś do pecluj moduły i skompiluj je ponownie z pdo.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pakiet php5-mysql mam już zainstalowany.

Instalowałem: php5-cgi, lighttpd, php5-mysql, mysql5.0-server (jakoś tak)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pokaż wynik komendy:

 

php -i |grep pdo

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wynik komendy:

# php -i |grep pdo
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini
pdo_mysql

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Malu - brak zainstalowanego PDO spowoduje Fatal/Compile Error, a nie Uncaught Exception.

 

Skrypt jest ogólnie dziadowski, ale jednym z rozwiązań będzie jego edycja.

Trzeba wyszukać wszystkie elementy, gdzie tworzony jest obiekt PDO i przypisać tam MYSQL_ATTR_USE_BUFFERED_QUERY na true.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Malu - brak zainstalowanego PDO spowoduje Fatal/Compile Error, a nie Uncaught Exception.

 

W takim razie dzięki za info :)

Bo nie siedzę w PDO na codzień i z lenistwa nie sprawdzałem dokładnego znaczenia błędu.

I najprostsze rozwiązanie jakie wpadło mi do głowy to brak PDO :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może to jednak wina serwera bo autor podkreśla ,że skrypt działa na XAMMP (apache2+php+mysql), gdy uruchomiałem na localhoscie XAMMP to skrypt działał bez najmniejszych problemów. Więc co takiego ma xammp ,że ten skrypt działa ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

XAMPP ma zapewne inaczej skompilowane PDO, które tę flagę ma ustawianą automatycznie na true.

 

@malu - tu siedzenie w PDO nie ma nic do rzeczy... :)

Tu się kłaniają po prostu podstawy PHP.

 

 

PS: Ale byka zrobiłem poprzednio... Oczywiście Fatal/Parse Error, a nie Compile Error :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×