2011-02-23 41 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