Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Php Ajax代码加载非常慢_Php_Jquery_Html_Ajax_Imagemagick - Fatal编程技术网

Php Ajax代码加载非常慢

Php Ajax代码加载非常慢,php,jquery,html,ajax,imagemagick,Php,Jquery,Html,Ajax,Imagemagick,下面是我用3分15秒加载的Ajax代码。有什么问题吗 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <Script type="text/javascript"> function im()

下面是我用3分15秒加载的Ajax代码。有什么问题吗

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <Script type="text/javascript">
    function im()
    {
    alert('iam in');
            var Name=document.getElementById("Name").value;
            var pointsize=document.getElementById("pointsize").value;
            var bckclr=document.getElementById("bckclr").value;
            var color=document.getElementById("color").value;
            var bcolor=document.getElementById("bcolor").value;
    var url='Name='+Name+'&pointsize='+pointsize+'&bckclr='+bckclr+'&color='+color+'&bcolor='+bcolor;
    alert("srihost.com/2.php?"+ url);
    alert(url);
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("Div_Im").innerHTML=xmlhttp.responseText;
        document.getElementById("Div_Im").style.border="2px solid #A5ACB2";
        }

      }
    xmlhttp.open("GET","2.php?"+ url,true);
    xmlhttp.send();
    }
    </script>
    </head>
    <body>
    Enter Name: <input type="text" id="Name" onchange="im()" value="yourname"  name="Name" />
    pointsize: <input type="text" id="pointsize" onchange="im()"
    value="50" name="pointsize" />
    BackGround Color: <input type="text" id="bckclr" value="red"
    onchange="im()" name="bckclr" />
    FontColor: <input type="text" id="color" value="white"
    onchange="im()" name="color" />
    Border Color: <input type="text" id="bcolor" value="blue"
    onchange="im()" name="bcolor" />
    <div id="Div_Im">
    replace me
    </div>
    </body>
    </html>

函数im()
{
警报(“iam in”);
var Name=document.getElementById(“Name”).value;
var pointsize=document.getElementById(“pointsize”).value;
var bckclr=document.getElementById(“bckclr”).value;
var color=document.getElementById(“color”).value;
var bcolor=document.getElementById(“bcolor”).value;
var url='Name='+Name+'&pointsize='+pointsize+'&bckclr='+bckclr+'&color='+color+'&bcolor='+bcolor;
警报(“srihost.com/2.php?”+url);
警报(url);
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“Div_Im”).innerHTML=xmlhttp.responseText;
document.getElementById(“Div_Im”).style.border=“2px solid#A5ACB2”;
}
}
open(“GET”,“2.php?”+url,true);
xmlhttp.send();
}
输入名称:
点大小:
背景色:
FontColor:
边框颜色:
取代我
这是我的服务器页面代码

$Name=$_GET["Name"];
$pointsize=$_GET["pointsize"];
$bckclr=$_GET["bckclr"];
$color=$_GET["color"];
$bcolor=$_GET["bcolor"];
$filename = 'im.png';
$font='Times-Roman';

$cmd = " -background $bckclr -pointsize $pointsize -font $font -fill $color ".
                " -strokewidth 1 -stroke $bcolor label:\"$Name\" ";

  exec("convert $cmd $filename");
  echo('<img src="'.$filename.'">');
$Name=$\u GET[“Name”];
$pointsize=$\u获取[“pointsize”];
$bckclr=$_GET[“bckclr”];
$color=$_GET[“color”];
$bcolor=$_GET[“bcolor”];
$filename='im.png';
$font='Times-Roman';
$cmd=“-background$bckclr-pointsize$pointsize-font$font-fill$color”。
“-strokewidth 1-stroke$b颜色标签:\“$Name\”;
exec(“转换$cmd$filename”);
回声(“”);

它基本上是图像魔法代码,通过创建图像可以很好地工作,但是当我使用Ajax时,加载需要很长时间。

我想你自己也尝试过同样的命令,速度更快

因此,确保在命令行上进行测试时,始终使用同一个用户“su www data”,例如Debian

然后总是有一个调试日志,这样您就可以确保参数都设置好了

[编辑] 你在哪个站台上跑步?什么版本的php?什么版本的ImageMagik


你应该添加一些更多的细节,以便让人们帮助你

我想你自己也尝试过同样的命令,而且速度更快

因此,确保在命令行上进行测试时,始终使用同一个用户“su www data”,例如Debian

然后总是有一个调试日志,这样您就可以确保参数都设置好了

[编辑] 你在哪个站台上跑步?什么版本的php?什么版本的ImageMagik


你应该添加一些更多的细节,以便让人们帮助你

有两个原因。首先,您正在对文本框更改执行ajax。它一次又一次地发送ajax请求。您应该只在单击某个按钮/link/submit时调用ajax,这样只会发送一个ajax调用。在php方面,如果第一种情况也是正确的,那么使用exec和convert函数可能会非常繁重。

有两个原因。首先,您正在对文本框更改执行ajax。它一次又一次地发送ajax请求。您应该只在单击某个按钮/link/submit时调用ajax,这样只会发送一个ajax调用。在php端,您还可以使用exec和convert函数,如果第一种情况也是正确的,则该函数可能非常繁重。

在服务器端,执行可能非常缓慢。运行Firebug之类的浏览器调试器,让您可以查看网络请求。验证问题是从HTTP请求发送到服务器到收到响应之间的时间。

在服务器端,执行可能非常缓慢。运行Firebug之类的浏览器调试器,让您可以查看网络请求。验证问题是HTTP请求发送到服务器和收到响应之间的时间。

一个提示。使用jQuery进行AJAX调用,而不是手动创建XMLHttpRequest/ActiveXObject。这将使您的代码更具可读性和简洁性,并使整个AJAX调用脚本成为一行程序。让我试着回到uDanger——您正在执行未转义的用户输入!这使任何可以向您的服务器发出HTTP请求的人都可以执行任意命令<代码>名称=“`rm-rf*`!我当时同意@yvind Knobloch Brå。如果要包括jQuery,请使用它。这将使你的任务更容易。一个提示。使用jQuery进行AJAX调用,而不是手动创建XMLHttpRequest/ActiveXObject。这将使您的代码更具可读性和简洁性,并使整个AJAX调用脚本成为一行程序。让我试着回到uDanger——您正在执行未转义的用户输入!这使任何可以向您的服务器发出HTTP请求的人都可以执行任意命令
Name=“`rm-rf*`
!我同意@Øyvind Knobloch Bråthen。如果你包括jQuery,那么就使用它。它会让你的任务更简单。