Why does this say "PhantomJS not found?"

I'm working with PhantomJS (http://phantomjs.org/screen-capture.html). The example is a real straight forward looking piece of code, but I keep getting an error that says "phantomjs not found." See the screenshot below:

command line screen
...and then the rasterize.js code:

"use strict";
var page = require('webpage').create(),
    system = require('system'),
    address, output, size;

if (system.args.length < 3 || system.args.length > 5) {
    console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]');
    console.log('  paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"');
    console.log('  image (png/jpg output) examples: "1920px" entire page, window width 1920px');
    console.log('                                   "800px*600px" window, clipped to 800x600');
    phantom.exit(1);
} else {
    address = system.args[1];
    output = system.args[2];
    page.viewportSize = { width: 600, height: 600 };
    if (system.args.length > 3 && system.args[2].substr(-4) === ".pdf") {
        size = system.args[3].split('*');
        page.paperSize = size.length === 2 ? { width: size[0], height: size[1], margin: '0px' }
                                           : { format: system.args[3], orientation: 'portrait', margin: '1cm' };
    } else if (system.args.length > 3 && system.args[3].substr(-2) === "px") {
        size = system.args[3].split('*');
        if (size.length === 2) {
            pageWidth = parseInt(size[0], 10);
            pageHeight = parseInt(size[1], 10);
            page.viewportSize = { width: pageWidth, height: pageHeight };
            page.clipRect = { top: 0, left: 0, width: pageWidth, height: pageHeight };
        } else {
            console.log("size:", system.args[3]);
            pageWidth = parseInt(system.args[3], 10);
            pageHeight = parseInt(pageWidth * 3/4, 10); // it's as good an assumption as any
            console.log ("pageHeight:",pageHeight);
            page.viewportSize = { width: pageWidth, height: pageHeight };
        }
    }
    if (system.args.length > 4) {
        page.zoomFactor = system.args[4];
    }
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('Unable to load the address!');
            phantom.exit(1);
        } else {
            window.setTimeout(function () {
                page.render(output);
                phantom.exit();
            }, 60000);
        }
    });
}

Open in new window


What do you think? Why am I getting the error "phantomjs: not found
Bruce GustPHP DeveloperAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Julian HansenCommented:
Are you sure phantomjs is not a folder.

Try ls -al in the command window to see what is displayed - if it is a folder then I suspect what you are looking for needs to be called with the folder name or from within the folder.
Bruce GustPHP DeveloperAuthor Commented:
Here's what I've got after doing ls -al

another screenshot
Julian HansenCommented:
And if you do
./phantomjs
Your Guide to Achieving IT Business Success

The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

Bruce GustPHP DeveloperAuthor Commented:
I did this:

$ ./phantomjs

...and I got phantomjs?

Is that right?
Julian HansenCommented:
I don't know - not familiar with phantomjs but if you did not get the file not found then it appears to have run.

Try your command line again like this (I have no way to test so please check spelling before running it)

./phantomjs rasterize.js http://ariya.github.io/svg/tiger.svg tiger.png

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Bruce GustPHP DeveloperAuthor Commented:
Julian, that did it!

Why?

If I start off with "cd /var/www/html/phantomjs" does that not put my "process space" within that directory? Why would I have to reference a file (phantomjs) as though it were one directory up from where I appear to be?
Dave BaldwinFixer of ProblemsCommented:
Many Linux versions do not allow you to execute a file directly in a directory.  Instead of 'phantomjs', you must use'./phantomjs'.  It's some kind of security 'feature'.
Bruce GustPHP DeveloperAuthor Commented:
Thank you guys!

I have another question that's related to this, but I didn't want to wear out my welcome and allow this question to morph into two.

Here's the other question: http://www.experts-exchange.com/questions/28915371/Why-does-this-PhantomJS-script-not-seem-to-work.html


Thanks for your time!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.