chrithccmc
chrithccmc

Reputation: 1069

Running php script (php function) in linux bash

How we run php script using Linux bash?

php file test.php

test.php contains:

<?php echo "hello\n" ?>

Upvotes: 37

Views: 194700

Answers (9)

bungee1980
bungee1980

Reputation: 69

just to add another thing related to php and terminal: one way to play with php and test code immediately in the terminal is with

php -a

which will open an interactive php mode where you can test without having to open, save and run files. Its handy for figuring things out like new functions you've never used before.

Upvotes: 1

pa4080
pa4080

Reputation: 951

I was in need to decode URL in a Bash script. So I decide to use PHP in this way:

$ cat url-decode.sh
#!/bin/bash
URL='url=https%3a%2f%2f1%2fecp%2f'
/usr/bin/php -r '$arg1 = $argv[1];echo rawurldecode($arg1);' "$URL"

Sample output:

$ ./url-decode.sh 
url=https://1/ecp/

Upvotes: 1

Dunhamzzz
Dunhamzzz

Reputation: 14808

From the command line, enter this:

php -f filename.php

Make sure that filename.php both includes and executes the function you want to test. Anything you echo out will appear in the console, including errors.

Be wary that often the php.ini for Apache PHP is different from CLI PHP (command line interface).

Reference: https://secure.php.net/manual/en/features.commandline.usage.php

Upvotes: 51

Waqas Rana
Waqas Rana

Reputation: 403

just run in linux terminal to get phpinfo .

   php -r 'phpinfo();'

and to run file like index.php

    php -f index.php

Upvotes: 4

Ali
Ali

Reputation: 3676

First of all check to see if your PHP installation supports CLI. Type: php -v. You can execute PHP from the command line in 2 ways:

  1. php yourfile.php
  2. php -r 'print("Hello world");'

Upvotes: 33

AVH
AVH

Reputation: 11516

There are two ways you can do this. One is the one already mentioned, i.e.:

php -f filename.php

The second option is making the script executable (chmod +x filename.php) and adding the following line to the top of your .php file:

#!/path/to/php

I'm not sure though if a webserver likes this, so if you also want to use the .php file in a website, that might not be the best idea. Still, if you're just writing some kind of script, it is easier to type ./path/to/phpfile.php than having to type php -f /path/to/phpfile.php every time.

Upvotes: 22

nicja
nicja

Reputation: 574

php test.php

should do it, or

php -f test.php

to be explicit.

Upvotes: 1

Mark Baker
Mark Baker

Reputation: 212452

php -f test.php

See the manual for full details of running PHP from the command line

Upvotes: 1

deceze
deceze

Reputation: 522382

Simply this should do:

php test.php

Upvotes: 4

Related Questions