(Možná to patří na StackOverflow, i když to ve skutečnosti není problém s programováním, protože kód funguje při přímém spuštění. Pokud je však třeba jej přesunout, žádný problém.)

Mám soubor PHP (který spotřebuje webovou službu národní meteorologické služby prostřednictvím SOAP, pokud je to důležité), který musím běžet podle plánu. Pokouším se nastavit úlohu cron ve Webminu. Mám-li použít absolutní cestu k souboru v poli Příkaz, když jej spustím, dostanu nějaké podivné chyby:

/var/www/html/mysite.com/test/ndfdXMLclient.php: line 1: ?php: No such file or directory /var/www/html/mysite.com/test/ndfdXMLclient.php: line 2: //: is a directory /var/www/html/mysite.com/test/ndfdXMLclient.php: line 3: //DOCUMENTATION: No such file or directory /var/www/html/mysite.com/test/ndfdXMLclient.php: line 4: //: is a directory /var/www/html/mysite.com/test/ndfdXMLclient.php: line 5: syntax error near unexpected token `'running client code',' /var/www/html/mysite.com/test/ndfdXMLclient.php: line 5: `error_log('running client code', 1, '[email protected]');' 

Skutečný kód v mém souboru pro těchto 5 řádků vypadá takto:

<?php // *************************************************************************** //DOCUMENTATION FROM WEATHER.GOV ALL STORED IN xmlClientComments.txt // *************************************************************************** error_log('running client code', 1, '[email protected]'); 

Kód běží naprosto v pořádku, když ho spustím přímo v prohlížeči, tak proč ho webmin nerozpozná jako kód? (Totéž se stane, když do příkazového pole zadám skutečnou adresu URL - http://mysite.com/test/ndfdXMLclient.php.)

Nikdy jsem s webminem nepracoval; většina ovládacích panelů cron našich hostitelů umožňuje úlohám cron spouštět takové soubory PHP bez problémů. Existuje nějaký trik, jak přimět webmina číst php jako skutečné php?

Pravděpodobně budete muset přidat hashbang v horní části skriptu, aby server věděl, kde najít PHP, aby skript přepracoval.

Ujistěte se, že cesta k spustitelnému souboru PHP je pro váš server správná.

#!/usr/bin/php -q <?php // *************************************************************************** //DOCUMENTATION FROM WEATHER.GOV ALL STORED IN xmlClientComments.txt // *************************************************************************** error_log('running client code', 1, '[email protected]'); 

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?