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

2012年9月19日 星期三

[Mantis] 安裝與使用


  1. Requirements:
    1. Apache
    2. MySQL
    3. PHP: 5.3 up
    4. 前兩個沒寫主要是我用 Apache 2.2跟 MySQL 5.07並沒遇到啥問題, 反倒是 PHP 5.2.6被 argue了, 所以特別註明一下
  2. 基本安裝
    1. 下載
    2. 解壓縮並丟到 apache上執行該資料夾下 admin/install.php, 其快速安裝在其 doc/INSTALL, 詳細 document在 doc/lang中
    3. 過程中會幫你設定 MySQL, 若沒給定具有建 database權限的使用者, 將會有點 issue, 必須手動建立一下
    4. 安裝完執行 admin/check.php 看是否相容
      1. 一般就是 upload file的 size問題, 稍微改一下 php.ini的 upload_max_filesize應該就可以通過
    5. 移除 admin資料夾
  3. 更改預設帳號 (帳號: administrator/密碼: root)
    1. 以預設帳號登入後, 選擇 Manage-> Manage Users
    2. Create User並將其權限設為 Administrator
    3. 移除預設 administrator帳號
  4. 用 stmp發送信件(預設為 php.mail()), 底下以 gmail為例
    1. 開啟 mantis資料夾下\config_defaults_inc.php
    2. 修改參數
      1. $g_phpMailer_method= PHPMAILER_METHOD_SMTP;
      2. $g_smtp_host = 'smtp.gmail.com';
      3. $g_smtp_username = 'gmail帳號';
      4. $g_smtp_password = 'gmail密碼';
      5. $g_smtp_connection_mode = 'ssl';
      6. $g_smtp_port = 465;
    3. 搞定! (若還是不行, 可參考 Joomla Gmail設定中修改 php.ini)
  5. 開始使用
    1. 語言設定
      1. 若不習慣英文, 每個人可自行調整看到的介面
        1. My Profile->Preference->language調整即可
    2. 個人設定
      1. 我的帳號-> 基本資料->可以加入平常操作環境, 等回報 bug時選擇環境即可
    3. Manage Projects-> Create New Project
    4. 使用者管理
      1. 如果 config_defaults_inc.php設定 $g_enable_email_notification = ON (預設為 ON), 則使用者註冊需通過 email來建立帳號
    5. 回報問題

    6. Issue 生命週期與流程
      1. 建立 issue
      2. issue狀態
  6. Ref:
    1. 中文化問題
    2. Mantis操作說明
    3. Mantis安裝設定

[PHP] 更新 PHP 5.2.6 到 5.3.5

以下為在 Windows底下更新 PHP 5.2.6到 5.3.5的過程記錄 (一開始 PHP 5.2.6以 Appserv安裝)
  1. download PHP VC6 x86 Thread Safe, Zip version (另有 Installer version, 可自行嘗試)--關於版本的問題, 下載頁面有詳細說明: Which version do I choose? 簡單說, 用 apache就是要用 VC6的版本...其實...5.3.5以後就找沒 VC6的版本了...完整 archive...若是用 apache的捧由...要碼就改用非官方版 Apache, 或是改用 IIS...
  2. 解壓縮假設到 C:\php
  3. 編輯 php.ini-development (或者直接 diff 原本 C:\Windows\php.ini 與 下載的package\php.ini-production)
    1. 更改 ; extension_dir ="ext" 為 extension_dir = "C:\php\ext"
    2. 比較一下 Windows\php.ini 已開啓的 extension(避免你以前哪些程式已經要求某些 extensions). e.g. extion=php_gd2.dll, ...
    3. timezone也可以設定一下
      1. data.timezone="Asia/Taipei"
    4. SMTP可自行設定, 若要利用 gmail發信的話, 可參考 利用 Gmail SMTP Server發信
    5. 設定 session存取位置
      1. session.save_path = "C:\php\SessionsTemp"
    6. upload path
      1. upload_tmp_dir = "C:\php\FIleuploadTemp"
    7. pear include path
      1. include_path=".;C:\php\pear", 如果還沒安裝, 可在安裝後再設定, 或是指向舊的 pear library, e.g. C:\AppServ\php\pear
    8. 可開啓 error log
      1. error_log = syslog改為 error_log = "C:\php\errorlog\error.log"
  4. 存檔後 copy到 C:\Windows\php.ini
  5. 讓 Apache server執行 php程式
    1. 修改 C:\AppServ\Apache2.2\conf\http.conf
    2. 加入
      1. LoadModule php5_module "C:/php/php5apache2_2.dll"
      2. 剩下應該原本 AppServ就設定好了
  6. Restart!
  7. Done! 記得 Windows7若是用 AppServ->Control Server by Service->Apache Restart要用管理者身份執行 (按右鍵)
  8. Ref: 在 Windows 7下安裝 PHP 5.3.5

2012年9月9日 星期日

[PHP] PHP特性

主要列出一些與 C或 C++較大的不同點, 以供參考
  1. 變數不用先宣告即可定義使用
  2. 參數傳遞的型別於傳遞時才決定
  3. 變數皆以 $開頭.
  4. isset()可以判別變數是否曾經定義
  5. 應該用 ===來檢查所有回傳值的比較 (既比較值也比較型別, 否則很容易有 false == 0的情形)
  6. include檔案或資料可使用 include or require, 差別在於錯誤的回報, require找不到會回報 fatal error

2012年9月8日 星期六

[PHP] 筆記--php include path

PHP 使用關鍵字 include與 require來載入其他函式或相關程式碼. 功能皆為讀取外部檔案, 而差異的地方, 在於 include讀不到檔時會有 warning, 而 require則是 fatal error.

就像 C++會用 #ifndef 來避免 header file被重複 include, 而 PHP則有 include_once與 require_once兩種機制.

另外, 應該自己注意 php.ini中的 include path設定


;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

請依據自己的系統做調整, 注意 UNIX跟 Windows在路徑斜線的方向不同, 分隔符號也不同, 一個是分號一個是冒號.