一個 Smarty 程式主要來兩個部分來組成:php程式和html(樣版)。html(樣版)放在templates目錄下,Smarty建議用tpl作為樣版的副檔名(不是tpl也可以)。php程式和樣版分開放在不同的目錄,可以方便控管權限,只開放樣版目錄給UI設計師,這樣就不用擔心他們會異動到PHP相關程式。
樣版 first.tpl 內容:
<html>
<head>
<title>Smarty</title>
</head>
<body>
{* Hello again *}
Hello, {$name}!
</body>
</html>

說明:
樣版註解:在Smarty中以"{*"和"*}"所包起來的片段,會被Smarty視為註解。
標籤定義符號:在Smarty中以{}包起來。
指定變數:$name便是Smarty指定變數的方式,這和PHP是一樣的。
故 {$name} 的作用就像PHP中 <?php echo $name; ?> 相類似。
程式 first.php 內容:
<?php
// 載入 Smarty 物件類別檔
require('Smarty/Smarty.class.php');

// 建立 Smarty 物件
$smarty = new Smarty();
/* 定義 Smarty 的工作路徑
** 一般在開發 Smarty 程式時,有兩個物件屬性一定要指定。
** template_dir 指定存放樣版的路徑。
** complie_dir 指定存放編譯好的樣版的路徑。
** 此兩個路徑必須是實體路徑,這樣才能夠正確的存取它們。
*/
$smarty->setTemplateDir('D:/WebServer/wwwroot/demo/templates');
$smarty->setCompileDir('D:/WebServer/wwwroot/demo/templates_c');

/* 指定變數
** 整支程式的關鍵點,透過assign函式來指定結果到變數。
** assign函式的第一個變數是樣版的變數名稱,第二個變數是PHP的變數名稱。
** 兩個變數名稱可以不一樣,但為了方便管理,通常會指定成同樣的變數名稱。
*/
$smarty->assign('name', 'World');
// 顯示結果,指定讀取樣版
$smarty->display('first.tpl');
?>

打開瀏覽器,鍵入http://localhost:8081/demo/first.php,假設一切沒問題,會看到下面的畫面:

mark528 發表在 痞客邦 留言(0) 人氣()


Smarty是php最常被採用的樣版,本篇文章將介紹如何在Windows系統安裝和測試Smarty。
Install Smarty

mark528 發表在 痞客邦 留言(0) 人氣()


xdebug是一個Open Source的php debug工具,可以用來追蹤分析PHP程式運行的情況。
安裝 xdebug
A. 確認所需下載的版本
    xdebug官方網站提供了一個方便的功能,只要將phpinfo() 所得的結果貼到find-binary網頁,讓其來分析結果就可以得到要下載的檔案版本。

mark528 發表在 痞客邦 留言(0) 人氣()


之前試著透過自動安裝及設定的方式來建置php開發環境,似乎不是很順利,決定以手動安裝的方式再來建置一次開發環境。

規劃目錄結構
打算仿造IIS將相關程式放在同一目錄底下,以下是我規劃的目錄結構:



註:我把整個目錄放在D槽,和我的Windows系統目錄C槽分開,這樣當OS系統有任何問題,需要重灌時,開發環境的設定和資料不會消失。
下載要安裝的各軟體
Apache
如網站需要SSL支援,請下載包含OpenSSL的版本。
http://httpd.apache.org/download.cgi (Win32 Binary including OpenSSL 0.9.8r: httpd-2.2.19-win32-x86-openssl-0.9.8r.msi)
PHP
請盡量選擇最新穩定版本,我打算讓php搭配apache以module來執行,故選擇 VC6 x86 Thread Safe的版本;如果要搭配IIS,請選擇VC9的版本,需要Microsoft 2008 C++ Runtime (x86)。
因要手動安裝,所以下載沒有安裝檔的zip package即可。
http://windows.php.net/download/ (VC6 x86 Thread Safe: php-5.2.17-Win32-VC6-x86.zip)
安裝Apache
執行httpd-2.2.19-win32-x86-openssl-0.9.8r.msi,大都直接按[Next]即可安裝完。要注意的地方如下:
1. 安裝到Server Information時,其中Install Apache HTTP Server 2.2 programs and shortcuts for選項,請選擇only for Current User, on Port 8080, when started Manually. 當然如果確定不使用IIS,也可以使用 Port 80的選項。
2. 安裝到Destination Folder時,請將安裝目錄改變成D:\WebServer\Apache2.2。
註:雖然指定Port 8080,安裝時可能會遇到apache啟動失敗的訊息,apache還是會用80去啟動,先可不管,等安裝完php,所有設定一次來搞定。
安裝PHP
1. 將php-5.2.17-Win32-VC6-x86.zip解壓縮到D:\WebServer\php目錄下。
2. 把D:\WebServer\php\php.ini-dist複製一份成php.ini。
修改php.ini
要建立開發環境,有些設定需打開,請將其前面的分號註解拿掉,相關需修改的設定如下:
錯誤訊息用
error_log = "d:/WebSerevr/logs/php_error.log"
PHP 5要先設定timezone,要不然程式會一直出現警告。
date.timezone = Asia/Taipei
如果有上傳檔案需求,請修改
post_max_size = 8M (請視需求修改)
upload_max_filesize = 2M (一般比post_max_size小)
相關路徑設定:
upload_tmp_dir = "D:\WebServer\temp\upload" (上傳暫存路徑)
include_path = ".;D:\WebServer\php\PEAR"
session.save_path = "d:\WebServer\temp\session"
extension_dir = "d:\WebServer\php\ext"
接下來是常用的延伸套件:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
修改httpd.conf
透過修改httpd.conf來讓apache認識php,使php成為apache的模組。
修改d:\WebServer\Apache2.2\conf\httpd.conf以下設定:
Listen 80 將其改成 Listen 8081
ServerName *:80 將其改成 ServerName *:8081
註:Listen和ServerName兩個port的值要一樣
在httpd.conf最底下加入
PHPIniDir "D:/WebServer/php/"
LoadModule php5_module "D:/WebServer/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
修改DirectoryIndex,加入index.php
DirectoryIndex index.html index.php
這樣apache就會以Module的方式來執行php了。
繼續修改httpd.conf其他設定
打開 LoadModule rewrite_module modules/mod_rewrite.so
修改預設網站根目錄
DocumentRoot "D:/WebServer/wwwroot"
<Directory "D:/WebServer/wwwroot"&gt
啟用.htaccess,找到<Directory />,將AllowOverride None的None改成All;<Directory "D:/WebServer/wwwroot">區段內的AllowOverride None也改成All。
測試
測試前,懶人大絕,電腦重開,來讓各設定生效。
先在D:\WebServer\wwwroot底下產生index.php,內容如下:
<?php
phpinfo();
?>
在瀏覽器鍵入 http://localhost:8080/http://localhost:8081/index.php 熟悉的兩個畫面應該就會出現了

mark528 發表在 痞客邦 留言(0) 人氣()

本文主要介紹如何在 Windows 上建置 PHP 的開發環境,以供有興趣的朋友參考。
1. 下載要安裝的各軟體
1.1. Apache http://httpd.apache.org/download.cgi
請盡量選擇最新穩定版本下載: Win32 Binary without crypto (no mod_ssl) (MSI Installer): httpd-2.2.19-win32-x86-no_ssl.msi
有需要SSL的請下載SSL版本
1.2. PHP http://www.php.net/downloads.php(windows use http://windows.php.net/download/)
請盡量選擇最新穩定版本: php 5.2.17 VC6 x86 Thread Safe installer
但有幾點要特別注意
a. 搭配apache ,請選擇 VC6 的版本
b. 搭配 IIS ,請選擇 VC9 的版本,需要Microsoft 2008 C++ Runtime (x86)
2. 軟體安裝順序
因為php安裝過程中會要求設定apache,所以請先安裝apache。
2.1 安裝apace
典型windows軟體安裝步驟,照圖形上數字點選即可完成安裝




設定網域,請在5, 6, 7填入適當的值
如果windows系統有安裝IIS,請選擇 only for the Current User, on Port 8080, when started Manually.


安裝目錄強烈建議不要更動,以免安裝時造成不必要的路徑問題


安裝完成後,右下角的工作列會有一個 apache 監視項目。
安裝完成後,進行簡單設定,請打開 C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
目標為下列兩個項目:
# 管理者信箱,前提是你的伺服器要有寄送功能,這樣就能收到錯誤訊息
ServerAdmin admin@freefox.com
# 指定WEB SERVER的PORT
ServerName *:80
重啟 apache

啟動錯誤怎麼辦,請善用事件檢視器查詢錯誤原因
常見錯誤: OS 10013
原因:因Windows IIS已經使用了 port 80,安裝時設定網域沒有選擇only for the Current User, on Port 8080, when started Manually. 造成 port 衝突,apache無法啟動。
解決:打開C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf,找到
Listen 80 將其改成 Listen 8081
ServerName *:80 將其改成 ServerName *:8081
記得兩個port的值要一樣,再重新啟動 apache即可。
測試

2.2. 安裝php



選擇apache版本

選擇apache路徑

特殊選項安裝,如可以先安裝mysql模組





安裝完PHP後,要讓apache認得PHP,此時需要重啟apache,卻重啟失敗,從錯誤訊息得知無法載入php5apache2_2.dll
解決:請打開C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 檢視php安裝過程自動加入的設定...
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir ""
LoadModule php5_module "php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
改成
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/Program Files/PHP/"
LoadModule php5_module "C:/Program Files/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
存檔後,重啟apache,並在C:\Program Files\Apache Software Foundation\Apache2.2\htdocs目錄下新增一個index.php,檔案內容為
phpinfo();
?>
然後用瀏覽器檢視http://localhost:8081/index.php,如果有顯示PHP的相關設定資訊即成功了。類似畫面如下:

建置完的感覺,自動安裝設定,真的一點都不靠普,還不如以前下載ZIP,所有設定要自己搞定來的實在,至少不用猜錯在哪再去改設定。

mark528 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。