Omdat even niet weet waar ik het neer moest zetten doe ik het maar hier, volgens mij komt dit het dicht bij.
Ik heb problemen met het instellen van mijn cornjobs.
De path is:
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/battlereports.php en deze is volgens mijn host correct.
Nu krijg ik de volgende foutmelding:
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/api.php: line 1:
?php: No such file or directory
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/api.php: line 4:
syntax error near unexpected token `||'
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/api.php: line 4:
`|| # EoT-Clan BF3 Leaderboard # ||'
Nu krijg ik ook dit van mijn host:
Belangrijk!! Een cronjob kent geen domeinnaamLet ook op dat het PHP programma vanuit een cronjob niet weet onder welke website hij draait. $_SERVER['SERVER_NAME'] is leeg maar er ook een include zal mislukken omdat er geen basispad is !!
Voorbeeld code om op te nemen in cron programma om dit te voorkomen:
•$pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (let op <usrdir> en <uwdomein.xx> vervangen!!!)
•$_SERVER['SERVER_NAME'] = 'uwdomein.xx';
•$_SERVER['DOCUMENT_ROOT'] = $pad;
•set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
:
Wat moet ik hiermee?? Zou iemand dat mij kunnen vertellen? Ik snap er echt geen hout van. Achter de cornjob commando? Of in het php bestandje?
Commando in de cornjob?
Ik dacht dat dit volstond?
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/api.php
Zodat hij dit op vroeg, en zo update.
Ik begin me nu wel erg dom te voelen.
En zover ik kan zien zit er in het .php bestand geen includes
(ik doe dit trouwens via directadmin van mijn host)
Ik heb nu als commandline:
/usr/local/bin/php -f /home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/playersOnline.php
maar krijg nu dit:
Warning: require_once(../inc/config.php): failed to open stream: No such file or
directory in
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/playersOnline.php
on line 12
Fatal error: require_once(): Failed opening required '../inc/config.php'
(include_path='.:/usr/local/lib/php') in
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/playersOnline.php
on line 12
De /inc/config.php staat wel gewoon op zijn plek...........
Denk dat ik weer wat moet aanpassen?
Dat is nou het 'leuke' van cronjobs. Ze worden nooit vanuit je web-root uitgevoerd (ofzoiets). Dus een relatieve include zal niet werken.
Zet dit bovenaan in je PHP-code:
$pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; //(let op <usrdir> en <uwdomein.xx> vervangen!!!)
set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
En het zou moeten werken.
Als je het juiste pad wilt weten naar je script, dan volstaat een simpele test-pagina met onderstaande code. Hiermee zie je het volledige pad die je moet gebruiken in bovenstaande code, bij $pad.
Warning: require_once(../inc/config.php): failed to open stream: No such file or
directory in
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/playersOnline.php
on line 26
Fatal error: require_once(): Failed opening required '../inc/config.php'
(include_path=':.:/usr/local/lib/php') in
/home/willem24/domains/infrfo.com/public_html/BF3leaderboard/update/playersOnline.php
on line 26