修改
我试图在后台运行一个php文件而没有成功使用其中一个函数
这不是将在backgorund中执行的文件(真正的将发送电子邮件),我使用此方法找出哪个命令参数是正确的
文件权限0644;文件夹权限:0755
tets.php:
<html>
<head>
</head>
<body>
<pre>
<?php
$ex='php5 -f /homepages/23/d293813614/htdocs/amazonmobilewebsites/extendedcomingsoon/admin/run.php';
exec($ex,$return);
echo print_r($return,true);
?>
</pre>
</body>
</html>
run.php(从网址开始):
<html>
<head>
</head>
<body>
<pre>
<?php
$fp = fopen('/homepages/23/d293813614/htdocs/amazonmobilewebsites/extendedcomingsoon/admin/data.txt', 'w+');
fwrite($fp, '1');
fclose($fp);
echo 'printed';
?>
</pre>
</body>
</html>
这些是我的尝试:
$ex='php5 -f /homepages/23/d293813614/htdocs/amazonmobilewebsites/extendedcomingsoon/admin/run.php';
$ex='php -f /homepages/23/d293813614/htdocs/amazonmobilewebsites/extendedcomingsoon/admin/run.php';
$ex='/usr/lib/php6 -f /homepages/23/d293813614/htdocs/amazonmobilewebsites/extendedcomingsoon/admin/run.php';
Fisrt-&GT;
Array
[89] => [79] => [69] => [59] => [49] => [39] => [29] => [19] => [9] => (
[90] => [80] => [70] => [60] => [50] => [40] => [30] => [20] => [10] => [0] => X-Powered-By: PHP/5.2.17
[91] => [81] => [71] => [61] => [51] => [41] => [31] => [21] => [11] => [1] => Content-type: text/html
[92] => [82] => [72] => [62] => [52] => [42] => [32] => [22] => [12] => [2] =>
[93] => [83] => [73] => [63] => [53] => [43] => [33] => [23] => [13] => [3] =>
[94] => [84] => [74] => [64] => [54] => [44] => [34] => [24] => [14] => [4] =>
[95] => [85] => [75] => [65] => [55] => [45] => [35] => [25] => [15] => [5] =>
[96] => [86] => [76] => [66] => [56] => [46] => [36] => [26] => [16] => [6] =>
[97] => [87] => [77] => [67] => [57] => [47] => [37] => [27] => [17] => [7] =>
[98] => [88] => [78] => [68] => [58] => [48] => [38] => [28] => [18] => [8] =>
[99] => [89] => [79] => [69] => [59] => [49] => [39] => [29] => [19] => [9] => Warning: exec() [function.exec]: Unable to fork [php5 -f /homepages/23/d293813614/htdocs/amazonmobilewebsites/extendedcomingsoon/admin/run.php] in /homepages/23/d293813614/htdocs/amazonmobilewebsites/extendedcomingsoon/admin/test.php on line 8
[100] => [90] => [80] => [70] => [60] => [50] => [40] => [30] => [20] => [10] => Array
[101] => [91] => [81] => [71] => [61] => [51] => [41] => [31] => [21] => [11] => (
[102] => [92] => [82] => [72] => [62] => [52] => [42] => [32] => [22] => [12] => )
[103] => [93] => [83] => [73] => [63] => [53] => [43] => [33] => [23] => [13] =>
[104] => [94] => [84] => [74] => [64] => [54] => [44] => [34] => [24] => [14] =>
[105] => [95] => [85] => [75] => [65] => [55] => [45] => [35] => [25] => [15] =>
[106] => [96] => [86] => [76] => [66] => [56] => [46] => [36] => [26] => )
第二个没有警告的相同数组,第三个是空数组
答案 0 :(得分:0)
它可能已在您的主机上禁用,但php本身不是,那么为什么不只是include
该文件?
如果你的php需要很长时间才能运行,你可以执行以下操作:
ignore_user_abort(true);
set_time_limit(0);
your_long_function();
这意味着您的脚本会无限期地运行(您可以离开页面),这可能是一件危险的事情。小心不要做任何无限循环。
ignore_user_abort
set_time_limit
有关其他选项,请参阅this answer。