KB00004:Symfony2 Requirements
PartKeepr uses Symfony2, a web framework. This page documents several issues why the Symfony2 Requirements check may fail.
Common Issues
Directory must be writable
Various directories need to be writable by the web server. The first step to fix this error is to find out as which user the Apache2 web server runs. Copy and paste the following line:
ps -ef | egrep "(httpd|apache2)" | grep -v `whoami` | grep -v root | head -n1 | cut -d" " -f1
Then, change to the directory where you installed PartKeepr and execute the following command:
chown -R <webserver user from above command> <the directory which fails the check
For example, if the web server user is www-data and the directory which fails the test is app/cache, you would invoke the command like this:
chown -R www-data app/cache
date.timezone setting must be set
On some distributions, the date.timezone setting is not configured. The installer gives you the path to the php.ini file used by the web server. Open the file in a text editor and find the text date.timezone. Remove the trailing ; character (which indicates a comment) and append your timezone, for example:
date.timezone=Europe/Berlin
If you are unsure which timezone you can use, you can execute the following command to get a list of all timezones:
php -r 'echo join(timezone_identifiers_list(), "\n");'
After you have saved the file, make sure you have restarted your web server so that the new setting takes effect.
Vendor libraries must be installed
If you are running PartKeepr from the source repository, you need to pull in the dependencies for PartKeepr. Ensure you have composer installed, then change to the directory in which you have installed PartKeepr and execute:
composer install
This will take several minutes, depending on your internet connection speed.
Less common issues
session_start() must be available
The session support seems to be disabled for your PHP installation. This could happen if you have compiled PHP yourself, or using a distribution like Gentoo where you have used the wrong USE flags. Refer to your distribution's manual to find out on how to enable session support.
ctype_alpha() must be available
The ctype support seems to be disabled for your PHP installation. This could happen if you have compiled PHP yourself, or using a distribution like Gentoo where you have used the wrong USE flags. Refer to your distribution's manual to find out on how to enable ctype support.
token_get_all() must be available
The tokenizer support seems to be disabled for your PHP installation. This could happen if you have compiled PHP yourself, or using a distribution like Gentoo where you have used the wrong USE flags. Refer to your distribution's manual to find out on how to enable tokenizer support.
simplexml_import_dom() must be available
The SimpleXML support seems to be disabled for your PHP installation. This could happen if you have compiled PHP yourself, or using a distribution like Gentoo where you have used the wrong USE flags. Refer to your distribution's manual to find out on how to enable SimpleXML support.
PCRE extension must be available
Either the PCRE extension is not available or it is too old. Usually this problem only occurs if you compiled PHP yourself, please see the documentation on the PCRE extension for further details.
Other issues
If there are other issues not covered here, please use the PartKeepr Community Support.