How to use PHP on FI
First get to our directory
/home/xlogin/public_html create a file
.htaccess (must have "r" access for others). Here we will state that files with the .php extension are scripts and that they should be executed as scripts:
DirectoryIndex index.php AddHandler cgi-script .php AddType application/x-httpd-php .php
To run a PHP script, it must have "x" access enabled for the owner (PHP scripts run under your identity).
In the event that you have the right to manage Aise, which is located elsewhere than below
/home/xlogin/public_html/ , you need to allow "x" user access for these PHP scripts
apachefi otherwise they will not work. Adding this right is ideally accomplished with the command
setfacl -m u:apachefi:x soubor.php
Furthermore, its very first line must be a string
#!/packages/run/php/bin/php . This string does not need to be inserted into files that do not run directly, but are only inserted with
Example of a PHP script
#!/packages/run/php/bin/php <html> <?php echo strftime("%H:%M:%S\n"); ?> <html>
To use FastCGI, edit in
DirectoryIndex index.php AddHandler fastcgi-script .php AddType application/x-httpd-php .php
FastCGI scripts are not newly run on every request, but serve more. This may result in an accelerated application response, but not all applications are ready for use.
PHP is constantly evolving and old versions are no longer supported, so we need to upgrade from time to time to a newer, usually backwards-compatible, version. To simplify your preparation for the upgrade, the new version of PHP is available under the name
To test the new version, change the first line in your scripts to:
/packages/run/php/bin/php then we'll switch to the new version so you can change it
php-next back to
Currently it is
php-next i implicit
The default encoding is set to
UTF-8 that applications should use for both program code and any HTML files.
In special cases, you can set up encoding in PHP (eg
ISO8829-2 ) by adding this command to the beginning of the program:
<?php ini_set('default_charset', 'ISO8859-2'); >
HTML files can be set to encode in a file
For more information, see Coding of Czech in documents .
What to do in case of problems
Apache logs are a useful source of more detailed information about errors. They can be found on the Aisa server located at
error.log , eventually
It is also preferable to use CGI instead of FastCGI when debugging errors. The error logs are clearer and the script running over the web is more responsive.
The PHP script should also be directly executable in the command line. Example of correct output:
aisa:/home/xlogin/public_html>$ ./index.php X-Powered-By: PHP/5.6.38 Content-type: text/html; charset=UTF-8 <html> 10:04:01 <html>
Examples of possible errors in case of unsuccessful startup
-bash: ./index.php: Permission denied
The PHP script does not seem to have "x" access enabled for the owner.
-bash: ./index.php: /packages/run/php/bin/php^M: bad interpreter: No such file or directory
The PHP script has DOS line endings. It can be converted to Unix line endings by a utility
Premature end of script headers(in
Check the header
Content-typeyou write correctly and whether it is followed by a blank line.
End of script output before headers(in
Make sure you meet conditions required by suexec, especially script access rights
Security of error logs
Error logs they are read only by the user
xlogin under which the script runs.
In addition, you may consider logging errors into your own file. You can do this by creating your own PHP configuration file
.user.ini that you place in the directory
public_html . This file should have at least "r" access right for the owner and include a line
error_log = /home/xlogin/php.log
Subsequently, the error messages should be recorded in the specified file. Of course, it is advisable to secure this file from other users' access. Therefore, we recommend that you create this file manually with the appropriate permissions, otherwise, when you write the first error, it is created with read rights to everyone. At least a right is required
w the owner and file path should be accessible to you - logging is again under your identity. Alternatively, if the directory in which you want to store this file is accessible only to you (right
x owner only), you can have the file created automatically.