2011-10-03 3 views
1

Essayant d'utiliser le Simple HTML Dom Parser dans mon application.Kohana et Simple HTML Dom parser ont des problèmes

Placé la fonction exemple de scraping_slashdot() dans un contrôleur.

include_once('includes/simple_html_dom.php'); 
$ret = $this->scraping_slashdot(); 
print_r($ret); 

Get:

ErrorException [ Fatal Error ]: Allowed memory size of 134217728 bytes exhausted (tried to allocate 291337 bytes) 

La chose est que quand je fais exactement la même chose dans un fichier autonome (non comme une partie d'une application Ko), tout semble fonctionner très bien .

Est-ce que quelqu'un a une idée de ce que ça pourrait être?

PS

En utilisant Ko 3.2, n'ont pas essayé d'autres versions, bien que je l'ai utilisé cette classe dans la version 3.0 avant bien.

+0

Etes-vous en train d'essayer de gratter une PAGE de slashdot, ou l'intégralité de slashdot? Une page ne devrait pas ** sucer n'importe où près de 128megs de bélier, alors que la totalité de slashdot le fera définitivement. –

+0

haha, juste une page ... le problème est que ça fonctionne très bien et rapidement, mais quand je l'inclue dans un contrôleur Kohana les choses vont mal ... Peut-être que c'est une mauvaise pratique en général .... ? public function action_index() {include_once ('includes/simple_html_dom.php'); .... – Serhiy

Répondre

0

Votre script tente d'allouer plus de mémoire que prévu. Essayez d'utiliser un profileur (Xdebug) pour voir d'où provient la fuite ou utilisez une solution de contournement - ini_set('memory_limit', '-1') ou définissez-la directement dans php.ini si vous y avez accès.

+0

Eh bien, c'est un tout nouveau niveau de développement auquel je n'étais pas préparé ... Je vais essayer ... J'espère juste que je ne casse pas PHP dans le processus ... Je ne peux pas faire ce genre d'analyse via le profileur de Kohana puis-je? – Serhiy

+0

Non mais n'ayez pas peur, Xdebug est facile à utiliser et il y a plein de tutoriels disponibles :) – matino