Mam dosyć ciekawy problem. Otóż jest sobie pewien skrypt i dwa komputery (oba PHP5, bliźniacze Fedorki). Przez cały czas skrypt działał na obu systemach, w pewnym momencie przestał działać na jednym z nich wypluwając:

Cytat
PHP Warning: implode(): Bad arguments. in /home/skrypt//cmd/ql.parser.php on line 1238
PHP Warning: Invalid argument supplied for foreach() in /home/skrypt/cmd/ql.parser.php on line 1185


Te linijki to:

  1. <?php
  2. class Page
  3. {
  4. var $cLink;
  5. var $cDescs;
  6. var $cTitles;
  7. var $cWords;
  8. var $cFakeMail;
  9.  
  10. function Page( $aLink, $aFakeMail, $aDescs, $aTitles, $aWords )
  11. {
  12. $this->SetLink( $aLink );
  13. $this->cDescs = $aDescs;
  14. $this->cTitles = $aTitles;
  15. $this->cWords = implode( ', ', $aWords ); //TUTAJ
  16. $this->cFakeMail = $aFakeMail;
  17. }
  18.  
  19. //ETC---------
  20. ?>


oraz:

  1. <?php
  2. foreach( $this->cInfo[ 'catalogs' ] as $pKey => $pCatalog )
  3. ?>


Wszystko z samym kodem musi być w porządku, gdyż na drugim systemie wciąż działa.

Pytanie więc brzmi: co mogło spowodować zaprzestanie się poprawnego wykonywania skryptu? Tym bardziej dziwne, iż w systemie żadnych monsunów nie było w tym czasie, a już na pewno nie w configu php.