我有一个奇怪的问题。这是一个3步骤的场景。
我有一个代码,可以从Youtube上的给定Youtube网址下载我的ftp目录中的视频
所以我有一个代码向bash脚本发出后台命令,该脚本在后台下载重型视频(在ftp目录下)
现在,下载完成后,bash脚本将调用一个PHP文件来更新WordPress中的条目。
问题所在 视频在我的ftp目录下正常下载。并且bash脚本也可以正常工作,直到调用我的PHP文件来更新数据库条目。
这是我的bash脚本代码
#!/bin/bash
wget -o $1 --output-document=$2 $3 &
wait
/usr/bin/php ../cron/vids_pending_download.php $4
exit
此脚本运行正常,并调用具有此代码的PHP文件。
require('../../wp-config.php');
require('../inc/inc_config.php');
$vid_key = trim($argv[1]);
#$vid_key = '123_video_key';
$sql_get_vids = "SELECT vid_id, vid_name, file_size, vid_usr FROM " . $wpdb->prefix . "video_table WHERE vid_name = '".$vid_key."' ";
$vid_info = $wpdb->get_row($sql_get_vids);
if ($vid_info != null) {
echo 'video found';
} else {
echo 'video not found';
}
现在问题是,如果我向我的sql提供一个固定的$ vid_key,它的工作原理很完美。但是如果我从bash中带来数组中的$ vid_key,它会带来空结果集。但是,如果我打印sql并粘贴在phpMyAdmin中,它会使记录正常,这意味着记录就在那里。
寻求帮助。谢谢大家。
答案 0 :(得分:0)
问题解决了。原因是bash脚本反过来太快了,并寻找下一个文件。虽然它正在这样做,但是没有执行插入到db中的实际代码。因此,返回文件的记录不可用。
此问题发生在将命令提交给bash文件的实际文件中。
再次感谢所有人的帮助