Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从perl程序运行php脚本_Php_Perl - Fatal编程技术网

从perl程序运行php脚本

从perl程序运行php脚本,php,perl,Php,Perl,我的perl文件和php文件在同一个文件夹中。我在cmd中从perl调用php脚本 mydatabase.pl脚本 #!/usr/bin/perl while (2) { my $php = `sample.php`; sleep (10); } mysample.php文件 <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "mydb"; $conn = n

我的perl文件和php文件在同一个文件夹中。我在cmd中从perl调用php脚本

mydatabase.pl脚本

#!/usr/bin/perl
while (2) 
{
   my $php = `sample.php`;
   sleep (10);

}
mysample.php文件

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb";   
$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "UPDATE users SET name1='Doe' WHERE id=1";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}
$conn->close();
?>

根据您使用的操作系统,有不同的方法。不过,您似乎在窗口上

.php
扩展的默认操作可能是在编辑器中打开它。更改backticks行以使用PHP解释器显式运行脚本

my $php = `php sample.php`;
这当然需要Windows知道
php
在哪里。它应该在您的
路径
变量中

如果您使用的是Linux,则可以使php脚本可执行

$ chmod u+x sample.php
。。。从现在的导演那里叫它

my $php = `./sample.php`;


请注意,您可以使用从Perl执行SQL查询,也可以在PHP中实现该循环并重用数据库连接。

根据您使用的操作系统,有不同的方法。不过,您似乎在窗口上

.php
扩展的默认操作可能是在编辑器中打开它。更改backticks行以使用PHP解释器显式运行脚本

my $php = `php sample.php`;
这当然需要Windows知道
php
在哪里。它应该在您的
路径
变量中

如果您使用的是Linux,则可以使php脚本可执行

$ chmod u+x sample.php
。。。从现在的导演那里叫它

my $php = `./sample.php`;

请注意,您可以使用从Perl执行SQL查询,或者在PHP中实现该循环并重用那里的DB连接。

或者,为了便于移植,请使用Perl:

open(我的$proc,'php sample.php |');
我的$php=join(“”,)
为了确保您在同一目录中执行脚本,请使用模块:

使用FindBin qw($RealBin);
打开(my$proc,“php'$RealBin/sample.php'|');
...
或者,为了便于移植,请使用perl:

open(我的$proc,'php sample.php |');
我的$php=join(“”,)
为了确保您在同一目录中执行脚本,请使用模块:

使用FindBin qw($RealBin);
打开(my$proc,“php'$RealBin/sample.php'|');
...