Re: [請益] 怎麼改網頁不讓瀏覽者看到

看板PHP作者 (亞修)時間14年前 (2011/12/07 12:14), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《waterdroporg (小耳朵)》之銘言: : 小弟剛學架站,寫PHP感覺直接寫直接看直接修改, : 但是最近常常感覺如果寫錯, : 錯誤碼被觀看者看到就很醜, : 請問大家都是怎麼做的呢? : 像是有方法可以維持網頁, : 另一個地方可以瀏覽修改的網頁等到好在上傳到真正的網址 : 這種方式? 當然有這種方式~小弟就是用這種方法 寫程式的時候會希望有個測試環境 當然機器很多的時候 自然就是將環境完全獨立切開 (分為測試機跟正式機,裡面的結構完全一樣就搞定) 但是小弟很窮只有一台主機的時候又想要有測試跟正式環境...該怎麼辦呢 小弟的做法如下... 利用 apache 的 VirtualHost 來製造多個虛擬 domain 設定檔加入 <Directory "/var/www/domain/htdocs"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <VirtualHost *:80> ServerAdmin test@test.com.tw DocumentRoot /var/www/domain/htdocs ServerName www.domain.com.tw ErrorLog logs/domain-error_log </VirtualHost> <Directory "/var/www/domain_dev/htdocs"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <VirtualHost *:80> ServerAdmin test@test.com.tw DocumentRoot /var/www/domain_dev/htdocs ServerName wwwdev.domain.com.tw ErrorLog logs/domain_dev-error_log </VirtualHost> 模擬兩個 domain 一個為正式環境 www.domain.com.tw 底層路徑為 /var/www/domain/htdocs 一個為測試環境 wwwdev.domain.com.tw 底層路徑為 /var/www/domain_dev/htdocs 然後把這兩個 domain 位址 都寫入 C:\WINDOWS\system32\drivers\etc\hosts 如 192.168.0.100 wwwdev.domain.com.tw 正式的 domain 如果已經可以解析就不用寫這個檔案,寫測試的 domain 就好 這樣可以確保 虛擬環境只有知道 domain 跟 ip 的人才進的去... 接下來就是開發程式的時候 PHP程式在撰寫的時候 先 include 個環境變數檔案 先判斷所在目錄是 domain 還是 domain_dev 然後吃對應的路徑 例如 $run_level = 'prd'; if(preg_match('/^\/var\/www\/domain_dev\//', realpath($_SERVER['SCRIPT_FILENAME']))){ $run_level = 'dev'; } if($run_level=='dev'){ $ROOT_DIR = '/var/www/domain_dev/htdocs'; # 測試DB設定值 .... } if($run_level=='prd'){ $ROOT_DIR = '/var/www/domain/htdocs'; # 正式DB設定值 .... } $HTDOCS_DIR = $ROOT_DIR.'/htdocs'; $INCLUDE_DIR = $ROOT_DIR.'/include'; $TEMPLATE_DIR = $ROOT_DIR.'/template'; ... ... ... 這樣就可以在測試環境下測試,檔案傳到正式環境後也不需要改檔案 cp /var/www/domain_dev/htdocs/test.php /var/www/domain/htdocs (這樣就算上傳到正式環境了XD) 搭配 svn 使用~效果更佳 以上是小弟目前用的方法~提供給版友參考~ 有更好的方法也請讓小弟學習~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.59.230.176

12/07 15:55, , 1F
其實用 php_value auto_prepend_file 會比較快
12/07 15:55, 1F

12/10 15:33, , 2F
感謝教學我會嘗試看看的!!
12/10 15:33, 2F
文章代碼(AID): #1EtkWEGV (PHP)
文章代碼(AID): #1EtkWEGV (PHP)