The old version of the documents explained about using FatFree in the command
line environment. The new documents have excluded this.
FatFree still works from the command line. However, not having this info in
the documentation means most people will never be aware of it.
Hi, could you tell me, how to use Fat-free in the command line?
I'm new in this framework, and wanna make cronjob which is call php programm
written in PHP.
From the old documentation:
Fat-Free also works in command line mode. If you want to send your program
output to the console (instead of the Web browser), you can do the following:-
/usr/bin/php index.php "/about"
This runs the PHP engine, executes your index.php file (where your
router/contoller code is located) and simulates a Web browser sending a
request for the contents of the /about URL.
Once you press the Enter key, control is transferred to your route handler for
GET /about, in much the same way it would have responded to a similar request
from a browser. However, all output is sent to stdout, in this case your
This makes it easier to see the actual HTML source - assuming that's your
program's output - instead of the extra Web browser mouse clicks necessary
just to see the same source. Working at the command line also gives you access
to your operating system's output redirection facility:
/usr/bin/php index.php "/about">output.txt
This saves your program's ouput to the file output.txt, which can
help you in analyzing minute details you won't always see in your Web browser
- like say, a buggy extra carriage return generated somewhere in the program
Command line mode also allows you to send HTTP GET variables, like:-
/usr/bin/php index.php "/user?firstname=John&lastname=Doe"
Fat-Free is smart enough to populate PHP's $_REQUEST and $_GET global
variables with the corresponding values received from the command line. In
this case, $_REQUEST will contain the string John and $_REQUEST will be
assigned the string "Doe". Fat-Free's command line mode only allows HTTP GET
requests, and you can expect that to be stored in the $_SERVER global. The
value of $_SERVER is automatically set to the URL you specified, i.e. the
string enclosed in quotes; in the above example,
/user?firstname=John&lastName=Doe. Similar to browser mode, your /user
route handler will be invoked once Fat-Free receives the above-stated URL.
Command line mode can be particularly useful in program debugging. Not all PHP
errors can be intercepted by Fat-Free (or any PHP program). Such errors in the
E_ERROR, E_PARSE (syntax errors), and E_COMPILE_ERROR categories won't show up
in your browser. In this situation, Fat-Free's command line mode can help you
understand the error, without having to search your server's error log,
because the error message is displayed at the console. This can save you a lot
of debugging headaches.
Note: You still get the same level of protection from XSS and code injection
attacks when using Fat-Free in command line mode.
You can switch between command line and browser mode anytime. Of course, if
your PHP script isn't intended to be used as a Web application, but you still
need an MVC design pattern, Fat-Free's command line mode will certainly be a
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.