从另一个 php 执行 php 文件

php
2022-08-30 10:23:46

我想调用一个 PHP 文件,它开始像

<?php
function connection () {
   //Statements
}

我从PHP调用,如下所示:

<?php
exec ('/opt/lampp/htdocs/stuff/name.php');
?>

我得到:

line1-> cannot open ?: No such file
line 3 //Connection: not found
line 4 Syntax errror: "("

为什么这不能正确执行名称.php文件?


答案 1

它尝试将其作为shell脚本运行,该脚本将您的令牌解释为bash,这是一个语法错误。只需使用或其中一个朋友:<?phpinclude()

例如,在 put 中:a.php

<?php
print "one";
include 'b.php';
print "three";
?>

在放:b.php

<?php
print "two";
?>

指纹:

eric@dev ~ $ php a.php
onetwothree

答案 2

exec正在对操作系统进行shelling,除非操作系统有一些特殊的方式来知道如何执行文件,否则它将默认将其视为shell脚本或类似脚本。在这种情况下,它不知道如何运行你的php文件。如果这个脚本绝对必须从shell执行,那么要么执行php,将文件名作为参数传递,例如

exec ('/usr/local/bin/php -f /opt/lampp/htdocs/.../name.php)') ;

或者使用php脚本顶部的标点符号

#!/usr/local/bin/php
<?php ... ?>

推荐