cPanel heeft een aanpassing in de manier waarop PHP gebruikt. Als je door deze aanpassing tegen problemen aanloopt kan het je slapeloze nachten bezorgen (Dat deed het bij mij in elk geval). Ik heb de oplossing gevonden en wil het graag hier delen.
Na de update van cPanel merk je dat de PHP functie set_include_path niet meer werkt. Dit komt omdat cPanel slim dacht te zijn en de functie php_value niet meer te gebruiken. Het voordeel van php_value is dat het in de code aangepast kan worden. cPanel gebruikt nu echter php_admin_value een instelling die niet kan worden aangepast in de code, je script zal een fatal error geven.
Als je de oorzaak weet is de fix best makkelijk. Het fixen bestaat uit het verwijderen van 4 bestanden, deze bestanden staan op de volgende locaties:
- /usr/local/apache/conf/userdata/std/1/<username>/<file-name>.conf
- /usr/local/apache/conf/userdata/ssl/1/<username>/<file-name>.conf
- /usr/local/apache/conf/userdata/std/2/<username>/<file-name>.conf
- /usr/local/apache/conf/userdata/ssl/2/<username>/<file-name>.conf
Als je het niet wil verwijderen kan je ook de bestanden bewerken en php_admin_value aanpassen in php_value. Dit lost het probleem ook op maar dan loop je het risico dat in de toekomst je alsnog tegen het probleem aanloopt.
Als je net als ik met grote servers werkt met veel accounts is het niet te doen om ze allemaal met de hand te verwijderen. Dan kan je ook de volgende code gebruiken. Dit command kan je via de shell gebruiken en zal alle bestanden hernoemen:
cd /usr/local/apache/conf/ find . -name "cp_php_magic_include_path.conf" -type f -exec mv {} {}ba