顯示具有 pear 標籤的文章。 顯示所有文章
顯示具有 pear 標籤的文章。 顯示所有文章

2016年3月17日 星期四

在php5使用pear中的Auth套件發生錯誤(消除錯誤訊息)

出現Deprecated: Assigning the return value of new by reference is deprecated in /usr/share/php/Auth.php on line 469 錯誤訊息
google一下,發現是Auth套件在php5運行時,發生的訊息。
不知如何修改,只好把該訊息清除掉:(清除php相容性警告)
vim /etc/php5/apache2/php.ini (debian系統)
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT 

在debian安裝pear

  1. apt-get install php-pear
  2. whereis pear
    • 可用pear指令直接安裝
    • 設定檔研究:/etc/pear/pear.conf
    • pear套件安裝在 /usr/share/php
  3. 安裝套件
    • pear install Db
      新版 pear install MDB2
      MDB2DB
      queryAllgetAll
      queryRowgetRow
      queryColgetCol
      queryOnegetOne
      autoExecuteautoExecute(需要载入extended module)
      autoPrepareautoPrepare(需要载入extended module)
      db與MDB2的差異(表格內容取自 某人的栖息地
    • pear install Auth
    • pear install pager
    • pear install channel://pear.php.net/Image_Transform-0.9.5
  4. 重要指令:

    pear install 套件名稱:安裝stable版套件
    pear install –f 套件名稱:安裝最新的stable版,若沒有則安裝beta版或alpha版
    pear install –a 套件名稱:安裝stable版套件,並將所有有可能相依的套件一併安裝
    pear install -o 套件名稱 : 安裝stable版套件,並將一定有相依的套件一併安裝
    pear list:顯示已安裝套件
    pear list-all:顯示可安裝套件(會搜尋較長時間)
    --------------------------------------------------------------------------------

    pear uninstall 套件名稱:移除某套件,但若與某套件相依將無法移除。
    pear uninstall –n 套件名稱:不管相依套件,強制移除。
    --------------------------------------------------------------------------------

    pear upgrade 套件名稱:升級某套件
    pear upgrade-all :一次升級所有套件
    --------------------------------------------------------------------------------

    pear channel-update pear.php.net:更新pear官網的下載channel。
    --------------------------------------------------------------------------------

    pear config-get php設定項:例如pear config-get php_dir可看到pear套件被安裝在那個路徑下。
    pear config-set php設定項:例如pear config-set php_dir=/usr/share/pear可以重新設定pear套件要安裝在/usr/share/pear下。
    pear config-show:顯示所有設定資訊

2016年3月14日 星期一

pear的資料庫處理

新增.修改.刪除.瀏覽,資料庫四大功能.
一. 新增
            $table_name = 'goodurl_cat';
            $table_fields = array('category_title','rank','username');
            $datas = array(stripslashes($_POST['category_title']),$_POST['rank'],$authUsername);
            $pre = $db->autoPrepare($table_name,$table_fields,DB_AUTOQUERY_INSERT);
            $db->execute($pre,$datas);
二. 修改
            $table_name = 'goodurl_cat';
            $table_fields = array('category_title','rank');
            $datas = array(stripslashes($_POST['category_title']),$_POST['rank']);
            $pre = $db->autoPrepare($table_name,$table_fields,DB_AUTOQUERY_UPDATE,"category_id=".$_POST['category_id']);
            $db->execute($pre,$datas);
三. 刪除
            $db->query(sprintf("DELETE FROM goodurl_cat WHERE category_id in (%s)",implode(",",$_POST['cids'])));
四. 瀏覽
        $strSearch = trim($_GET['search']);
        $strWhere = ($strSearch == '') ? '' : " and (locate('$strSearch',category_title)>0 or locate('$strSearch',name)>0)";
        if (!$isAll) $strWhere .= " and goodurl_cat.username='".$authUsername."'";
        $query = "select goodurl_cat.*,name from goodurl_cat join user on goodurl_cat.username=user.username where category_id>0 $strWhere order by rank ASC,category_id DESC";
        $rows = $db->getAll($query);