目前我试图发送一个webhook请求来争执,所以我可以发送更新到我的资源库到我的不一致服务器中的一个频道。
如果我在浏览器中加载页面,它会运行此代码,并且该消息将出现在我的不一致中:
$(document).ready(function(){
setTimeout(send(), 300);
});
function send(){
var link = "discordwebhooklink";
var hookurl = link + "/slack";
var msgJson
msgJson = {
"username": "",
"icon_url": "",
"text": "Hey! I've got a new project here!",
"attachments":[{
"author_icon": "",
"author_name": "",
"color": "#ff9900",
"fields": [{
"title": "Repo Project Created!",
"value": "\n----------------------------------------------------------------------------\n```json\nProject Information\n\nTitle:\n \"<?php echo $title; ?>\"\nDescription:\n \"<?php echo $description; ?>\"\nVersion: <?php echo $version; ?>\n```",
}]
}]
};
post(hookurl, msgJson);
}
function post(url, jsonmsg){
xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/json");
var data = JSON.stringify(jsonmsg);
console.log(jsonmsg);
console.log(data);
xhr.send(data);
xhr.onreadystatechange = function() {
if(this.status != 200){
alert(this.responseText);
}
}
}
但是,如果我用php /path/to/file.php从crontab运行页面,那么它不会显示在通道中。我发现原因是它不会执行JavaScript,所以我在这里问,我如何从bash运行PHP代码和Javascript代码。 (注意:jQuery包含在php脚本的输出html中)
我也试过做一个纯粹的PHP解决方案,但无法让信息出现在我的频道中。我尝试了一些使用CURL,stream_context_create和include的PHP解决方案,但我不明白给出的解决方案,所以这可能是我的错。
TL; DR:如何使用crontab执行输出javascript的.php文件,并执行输出的javascript,而不仅仅是打印。
编辑:标记为重复,但我说我找不出cURL解决方案。