我在CPanel中创建了一个管道脚本,并在我的脚本开头放置了hashbang:#!/usr/bin/php -q
。该脚本确实运行并将电子邮件的日志放入我的数据库中的表中。
但是......它发回一封电子邮件,声称电子邮件没有通过并显示为......
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/xxxxx/xxxxx.php
generated by support@xxxxxxx.net
The following text was generated during the delivery attempt:
------ pipe to |/home/xxxxxx/xxxx.php
generated by support@xxxxxxxxx.net ------
PHP Deprecated: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0
<br />
<b>Deprecated</b>: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in <b>Unknown</b> on line <b>0</b><br />
我删除了所有私人信息,但没有删除任何与我的问题相关的信息。
那可能是我的问题?
答案 0 :(得分:3)
你是如何在CPanel中添加管道的?
如果您遵循本指南:http://www.phpshare.org/articles/Piping-Incoming-Mail-with-PHP.html
它说要将以下内容添加到CPanel中:
|php -q /home/phpshare/public_html/handler.php
您是否也按照该指南描述的那样在CPanel中包含-q标志?
答案 1 :(得分:1)
我认为你最近必须将你的服务器php版本升级到5.2.x到5.3。
PHP 5.3不支持magic_quotes_gpc
。
因此注释掉或删除php.ini中的那一行。在cPanel服务器上,php.ini的路径为/usr/local/lib/php.ini
如需评论,请使用;
。
; magic_quotes_gpc = on
答案 2 :(得分:1)
如果您的php脚本因任何原因失败(在这种情况下是魔术引号错误),您的电子邮件将被拒绝(即使您可能已经在脚本中处理了该电子邮件)。系统“假设”如果发生脚本错误,则消息传递失败。
正如其他人所说,修复魔术引号问题......
答案 3 :(得分:0)
我遇到了这个问题,我在这里找到了答案http://forums.kayako.com/threads/very-odd-piping-problem.11954/
解决方案是在#!/ usr / bin / php -q 和&lt;?php 之间只留下一个空格:
错误的方式:
#!/usr/bin/php -q
<?php
正确的方式:
#!/usr/bin/php -q
<?php