PHP email pipe to script

Zdravo!

Imam eno težavo pri preusmerjanju emailov na PHP skripto. Gostujem pri Si-shell na shared hostingu - cpanel in vsakič ko pošljem mail na skripto, dobim nazaj auto responder z napako:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

pipe to |/home/uporabnik/public_html/pipe.php
generated by moj mail naslov

The following text was generated during the delivery attempt:

------ pipe to |/home/uporabnik/public_html/pipe.php
generated by moj mail naslov ------

Error in argument 1, char 3: option not found
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
php <file> [args...]
-a Run interactively
-b address:port|<port> Bind Path for external FASTCGI Server mode
-C Do not chdir to the script's directory
-c <path>|<file> Look for php.ini file in this directory
-n No php.ini file will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-f <file> Parse <file>. Implies `-q'
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-q Quiet-mode. Suppress HTTP Header output.
-s Display colour syntax highlighted source.
-v Version number
-w Display source with stripped comments and whitespace.
-z <file> Load Zend extension <file>.
-T <count> Measure execution time of script repeated <count> times.

Naj povem, da je prva vrstica v kodi sledeča:

#!/usr/bin/php -q

Prav tako je pravica datoteke nastavljena na 755

Brskam po googlu, ampak nekako ne najdem prave rešitve.

Prosim za pomoč.

8 odgovorov

V DirectAdmin je vrstica, ki jo vpišeš v forward polje:
"|/usr/local/bin/php /home/uporabnik/public_html/pipe.php"

Preveri, če so narekovaji in da je forward "| ....".

Imam cpanel in seveda ustvarjen farwarder na |/home/user/public_html/pipe.php kjer je user moje uporabniško ime.

Mogoče če bi probal v cpanel dati.

|/usr/local/bin/php -q /home/user/public_html/pipe.php

Sicer pa na pamet govorim.

Če pogledaš stavek: vidiš /usr/local/bin/php .. .to je pot do PHPja torej bi bil tvoj klic:

|/usr/bin/php /home/user/public_html/pipe.php

Poskusil oboje in še vedno ne deluje. Če obiščem stran direktno preko URLja, ne generira nobenih errorjev, tako da res ne vem kaj delam narobe.

Si poizkušal drugačno pot phpja? Samo |php -q ....

Jaz sem enkrat ugotovil, da določeni strežniki ne parsajo datotek brez -f argumenta, torej namesto -q probaj

| php -f /pot/do/skripte.php

(za katerega itak piše da "implies -q")

Evo zadeva je urejena. Ubistvu sem samo preko cpanelovga urejevalnika datotek, odstranil presledek za prvo vrstico, ki v mojem urejevalniku ni bil viden.
Sedaj dela ok, mail se shrane v bazo, vendar na sender mail še vedno dobim auto responder, da je mail bil zavrnjen.