Я использую этот сценарий, чтобы опубликовать некоторые данные, используя скручивание в файле post.shРНР выполняет shell_exec команды, но ничего не делает
#!/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
У меня нет никаких проблем, исполняющих пост .sh, используя мою оболочку, однако, когда я вызываю ее внутри своего php-скрипта, используя shell_exec('sh /path_to_post_file/post.sh')
Я получаю эту ошибку от своего 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 Wich ставит все содержимое в различные таблицы в базе данных. Дело в том, что никакая информация не загружается в базу данных с запуском shell_exec('sh /path_to_post_file/post.sh')
со страницы PHP. Тем не менее, сама команда работает без ошибок, я проверил его с
<?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 PHP-скрипт, выполняющий shell_exec, находится в другой папке, кроме ** post.sh ** файла. Я использую полный путь /var/....../post.sh файла в команде shell_exec. – TalG
не уверен, но в этом случае файл 'javascript_100.file' был бы доступен из другого каталога? –