php - PHP 执行 shell_exec 命令但不执行任何操作

标签 php mysql bash shell curl

我正在使用此脚本在 post.sh 文件中使用curl 发布一些日期

#!/bin/sh

var1=`base64 javascript_100.file`

# post it 3 times
for i in `seq 1 3`; do

/usr/bin/curl -i --verbose -d "jobTexterea=$var1" http://my_server_address/target_page.php

done

我使用 Shell 执行 post.sh 文件没有任何问题,但是当我使用 shell_exec('sh/path_to_post_file/post.sh') 在我的 php 脚本中调用它时,我'我从我的 var_dump(shell_exec('sh/path_to_post_file/post.sh')); 中收到此错误。

Error: () HTTP/1.1 302 Found Date: Sat, 24 Sep 2016 15:14:38 GMT Server: Apache/2.4.23 (Fedora) OpenSSL/1.0.2h-fips PHP/5.6.25 mod_perl/2.0.9 Perl/v5.22.2 X-Powered-By: PHP/5.6.25 Location: http://my_server_ ddress/ Content-Length: 401 Content-Type: text/html; charset=UTF-8 A MySQL error has occurred. Your Query: INSERT INTO jobsNum_pro_batch (job_batch_id , jobs_in_batch , job_type ) VALUES ( '26' ,'1' ,'JavaScript' )

post.sh 文件中的代码将信息发布到 target_page.php,后者将所有内容放入数据库中的不同表中。问题是,通过从 PHP 页面运行 shell_exec('sh/path_to_post_file/post.sh') 不会将任何信息上传到数据库中。但是,命令本身运行没有错误,我用

检查了它
<?php
    if (shell_exec('sh /path_to_post_file/post.sh')){ 
        echo "<b> shell_exec was executed </b><br>";
        var_dump(shell_exec('sh /path_to_post_file/post.sh'));
    } else {
        echo "<b> shell_exec was not executed </b><br>";
    }
?>

我收到消息shell_exec已执行

有人知道出了什么问题吗?

最佳答案

这成功了!感谢@Jean-FrançoisFabre,对他的代码做了一个小改动,问题就消失了!

#!/bin/sh

progdir=$(dirname $0)

var1=`base64 $progdir/javascript_100.file`

# post it 3 times
for i in `seq 1 3`; do

/usr/bin/curl -i --verbose -d "jobTexterea=$var1" http://my_server_address/target_page.php

done 

关于php - PHP 执行 shell_exec 命令但不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39678124/

相关文章:

Bash:重定向文件描述符

php - 如何在 Eclipse 中设置 Zend Debugger?

linux - 将 PHP CLI 打印的值分配给 shell 变量

php - 如何检查php中的空url参数

php - 有没有办法只允许访问以前在 .htaccess 中列出的文件?

mysql - 获取两个日期之间的所有可用项目

php - 使用 PHP PDO 事务的单个与多个 SQL UPDATE 性能

mysql - MySQL NDB Cluster 是否考虑节点距离?如果复制品更接近,它会使用它们吗?

linux - 在共享主机上安装 git - ./configure : no such file or directory

bash - 带大括号的 bash 循环?