我在我的cPanel中设置了forwarder,这样任何发送到contact@mydomain.com的电子邮件都会被PHP脚本选中并处理。
#!/usr/bin/php -q
<?php
$fd = fopen("php://stdin", "r");
$body = '';
while( !feof($fd) ){
$body .= fread($fd, 1024);
}
fclose($fd);
//----doing my tasks, for example:--
mail('self@myAnotherDomain.com', 'Test Subject', $body);
?>
我必须为具有各种类型的cPanel提供程序的多个客户端运行几乎相同的解决方案。我的问题是第一行称为Hashbang or Shebang。从网上我发现以下shebangs基于PHP版本是有效的:
For PHP 5.2.x the shebang would be "#!/usr/bin/php"
For PHP 5.3.x the shebang would be "#!/usr/bin/php53"
//My test server is running with PHP 5.5 at this moment and "#!/usr/bin/php" works fine.
有些人说,#!/usr/local/bin/php
或#!/usr/local/lib/php
等等。
我的问题:有没有办法正确/直接/轻松地为不同的cPanel环境(例如phpinfo())或使用任何编码或任何配置文件找到正确的hashbang?
答案 0 :(得分:1)
要使您的脚本可移植,请尝试使用此代码,
#!/usr/bin/env php
这只会在php
中搜索名为$PATH
的可执行文件。这将在> 95%的情况下起作用。如果您找到一个无法使用的系统,那么只需手动查找安装PHP的位置并修改该脚本。