PHP
PHP is the recursive acronym for PHP Hypertext Preprocessor. It is an interpreted script language commonly used for dynamic pages generation on webservers. Then it is generaly installed side by side with the Apache web server, and MySQL or PostgreSQL as database management system.
Contents |
Installing PHP
PHP is available trougth the port-tree ...
# cd /usr/ports/lang/php5
... and the packages ...
# pkg_add -r php5
Using PHP
There are two ways to use PHP :
- With apache, configured to make PHP to proceed .php files asked by the user.
- As any any interpreter
PHP for dynamic websites
All the steps of Apache configuration are explained after PHP installation. You have to add these two lines to httpd.conf:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
You will probably also want to add index.php as a possible directory index:
DirectoryIndex index.html index.php
You have to restart Apache to have your changes effective. For example, if you use Apache 2:
/usr/local/etc/rc.d/apache2 restart
Now, you can try your installation by creating a file test.php:
<? phpinfo(); ?>
Pointing that file with your web browser should show you your php settings.
Scripts in PHP
If you have compiled PHP with the commandline interface, you can write scripts in PHP that can be used from the shell. This is very useful for quick and dirty hacks; especially if you want your output to be HTML. Put the PHP code in a file like this :
#!/usr/local/bin/php # phpscript <html> <title>Defined Constants</title> <body> <h1><? echo "Hello from PHP " .phpversion() ?></h1> <pre><? print_r(get_defined_constants()) ?></pre> </body></html>
Make the file executable:
% chmod +x phpscript
Then, you can run it from the commandline.
% ./phpscript | lynx -stdin
In this case, we've piped to lynx
, so that we can browse the nicely formatted result.
Defined Constants (p1 of 154) Hello from PHP 5.1.4 Array ( [E_ERROR] => 1 [E_WARNING] => 2 [E_PARSE] => 4 [E_NOTICE] => 8 -- press space for more, use arrow keys to move, '?' for help, 'q' to quit.
Or, we could have executed the command directly from the commandline:
% php -r 'echo "Hello from PHP ". phpversion() . "\n"; print_r(get_defined_constants());' Hello from PHP 5.1.4 Array ( ...