2011-02-23 122 views
2

我已经创建了一个脚本,其中的AI使用64bitencoded串.IM使用PHP的imagecreatefromstring功能在运行时创建一个形象,但它在我的基于Windows的XAMPP PHP,但不在我部署在运行SUSE版Linux的Amazon云上的云端应用程序中。PHP的imagecreatefromstring功能不能正常工作亚马逊的Linux服务器上

ü可以给我任何建议,以解决这个问题。 或者有其它任何功能,其能够从传递给它的编码的字符串创建图像。

谢谢进阶

我使用下面的代码

<?php 
     require ('../dbconfig/dbConfig.php'); 

    $gameId = $_POST["gameId"]; 
    $username = $_POST['email']; 
    $imagedata = $_POST['imagedata']; 

    $uploaddir = './../blogdata/i/'; 

    $countSql = mysql_query("select max(_id) as fileName from blog_data "); 

    while($rowCommentData = mysql_fetch_assoc($countSql)) 
    { 
     $num = $rowCommentData["fileName"]; 
     $file = ++$num.".png"; 
     $filedb = $uploaddir .$file; 
    } 


    /* $imagedata= 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl' 
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr' 
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r' 
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';*/ 

    $imagedata= base64_decode($imagedata); 

    if(($img = @imagecreatefromstring($imagedata)) !== FALSE) 
    { 

      if(imagepng($img,$filedb)) 
      {  
        imagedestroy($img); 

        $sql="Insert into blog_data (game_id,text,type,username)". 
            "Values('$gameId','$file','i','$username')"; 

        $result=mysql_query($sql); 

        if($result == 1) 
        { 
         echo $file; 
        } 
        else 
        { 
         echo "error2"; 
        } 
      } 
      else { 
       echo "error1"; 
      }    
        } 
    else 
    { 
     echo "error0"; 
    } 

?>

通过运行PHP的信息在那里,我得到这个信息 enter image description here

+0

请显示一些代码和示例数据。 – 2011-02-23 12:17:46

+1

它不会因为它需要Windows,而是因为它需要GD库。 – HyderA 2011-02-23 12:18:12

+1

你确定你的服务器已经安装并启用了gd扩展吗?请检查'phpinfo'输出,并查找GD扩展 – Quamis 2011-02-23 12:18:31

回答

4

的PHP需要安装的libgd的扩展和加载。检查phpinfo()是否存在。你可能可以通过yum安装它。该软件包应该叫做PHP5-GD

+0

嘿我从哪里可以得到一个名为PHP5-GD – Abhi 2011-02-23 12:29:35

+0

这个包我不是很familar使用SUSE安德烈亚斯。您可能可以在他们的ftp服务器上找到该软件包,但我猜SuSe也有一些自动安装分发软件包的方法。这应该有更多关于如何查找和安装软件包的解释:http://en.opensuse.org/Package_management – 2011-02-24 08:21:18

1

从你的代码,它似乎你没有安装GD扩展。请检查phpinfo输出,并寻找GD扩展

+0

我有同样的问题,安装GD扩展没有解决问题(sudo yum安装php5-gd)。 – coolcool1994 2013-08-10 14:39:26

+0

我检查了phpinfo。但是我已经安装了GD扩展,但与提问者相同的错误。 (php -i带你到phpinfo页面)GD支持=>启用 GD版本=>捆绑(2.1.0兼容) FreeType支持=>启用 FreeType链接=>与freetype FreeType版本=> 2.3.11 T1Lib支持=>启用 GIF读取支持=>启用 GIF创造支持=>启用 JPEG支持=>启用 libjpeg的版本=> 6B PNG支持=>启用 的libpng版本=> 1.2。49 WBMP支持=>启用 XPM支持=>启用 libXpm版本=> 30411 XBM支持=>启用 – coolcool1994 2013-08-10 14:53:28