Problemas ao executar slimerjs no linux (Centos 6.5 32bit)

3

Eu não estou acostumado a trabalhar com o Linux, mas eu queria tentar usar slimerjs em um vps Linux para ter acesso à função exec do php, já que a maioria das empresas de hospedagem desativa essa função.

Consegui instalar o xampp, vsftpd, xulrunner, xvfb e slimerjs (versão standalone).

Quando executo o seguinte comando, o slimerjs é iniciado, mas apenas as funções console.log são chamadas:

xvfb-run ./slimerjs hello.js

Eu tentei adicionar o sudo no começo, mas o resultado é o mesmo.

Aqui está a "resposta" do comando acima:

Hi
6 XSELINUXs still allocated at reset
SCREEN: 0 objects of 132 bytes = 0 total bytes 0 private allocs
DEVICE: 0 objects of 64 bytes = 0 total bytes 0 private allocs
CLIENT: 0 objects of 112 bytes = 0 total bytes 0 private allocs
WINDOW: 0 objects of 20 bytes = 0 total bytes 0 private allocs
PIXMAP: 2 objects of 8 bytes = 16 total bytes 0 private allocs
GC: 4 objects of 8 bytes = 32 total bytes 0 private allocs
CURSOR: 0 objects of 4 bytes = 0 total bytes 0 private allocs
DBE_WINDOW: 0 objects of 12 bytes = 0 total bytes 0 private allocs
TOTAL: 6 objects, 48 bytes, 0 allocs
2 PIXMAPs still allocated at reset
PIXMAP: 2 objects of 8 bytes = 16 total bytes 0 private allocs
GC: 4 objects of 8 bytes = 32 total bytes 0 private allocs
CURSOR: 0 objects of 4 bytes = 0 total bytes 0 private allocs
DBE_WINDOW: 0 objects of 12 bytes = 0 total bytes 0 private allocs
TOTAL: 6 objects, 48 bytes, 0 allocs
4 GCs still allocated at reset
GC: 4 objects of 8 bytes = 32 total bytes 0 private allocs
CURSOR: 0 objects of 4 bytes = 0 total bytes 0 private allocs
DBE_WINDOW: 0 objects of 12 bytes = 0 total bytes 0 private allocs
TOTAL: 4 objects, 32 bytes, 0 allocs
./slimerjs: line 172:  4568 Aborted                 "$SLIMERJSLAUNCHER" -app $SLIMERDIR/application.ini $PROFILE -no-remote "$@" 2> /dev/null
/usr/bin/xvfb-run: line 171: kill: (4558) - No such process

Aqui está o conteúdo de hello.js

console.log("Hi");
var page = require("webpage").create();
console.log("Hi");
page.open("http://www.youtube.com/")
.then(function(status){
    console.log("Hi");
     if (status == "success") {
         console.log("The title of the page is: "+ page.title);
     }
     else {
         console.log("Sorry, the page is not loaded");
     }
     page.close();
     setTimeout(function(){phantom.exit();},5000);
});

Apenas o primeiro console.log é executado. Se eu adicionar 10 console.logs consecutivos no início, todos eles serão executados. O próximo código não executa a função setTimeout :

console.log("Hi");
setTimeout(function(){console.log("Hi");});

Para resumir: se, durante a execução do código, alguma outra coisa que não o console.log for encontrada, ele irá parar por aí.

Antes de tentar slimerjs eu tentei phantomjs e funciona perfeitamente! Eu não sei qual é o problema com slimerjs. Talvez porque estou tentando executá-lo com xvfb?

    
por Th3lmuu90 21.09.2014 / 19:51

1 resposta

1

Eu também estava recebendo:

./slimerjs: line 172: 4568 Aborted "$SLIMERJSLAUNCHER" -app $SLIMERDIR/application.ini $PROFILE -no-remote "$@" 2> /dev/null

até que me lembrei de executar export SLIMERJSLAUNCHER=/usr/bin/firefox .

Note que você precisa ter o Firefox instalado.

    
por 24.11.2015 / 16:01

Tags