作者guardlan (亚修)
看板PHP
标题Re: [请益] 怎麽改网页不让浏览者看到
时间Wed Dec 7 12:14:04 2011
※ 引述《waterdroporg (小耳朵)》之铭言:
: 小弟刚学架站,写PHP感觉直接写直接看直接修改,
: 但是最近常常感觉如果写错,
: 错误码被观看者看到就很丑,
: 请问大家都是怎麽做的呢?
: 像是有方法可以维持网页,
: 另一个地方可以浏览修改的网页等到好在上传到真正的网址
: 这种方式?
当然有这种方式~小弟就是用这种方法
写程式的时候会希望有个测试环境
当然机器很多的时候 自然就是将环境完全独立切开 (分为测试机跟正式机,里面的结构完全一样就搞定)
但是小弟很穷只有一台主机的时候又想要有测试跟正式环境...该怎麽办呢
小弟的做法如下...
利用 apache 的 VirtualHost 来制造多个虚拟 domain
设定档加入
<Directory "/var/www/domain/htdocs">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerAdmin
[email protected]
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
[email protected]
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
1F:推 mervynW:其实用 php_value auto_prepend_file 会比较快 12/07 15:55
2F:推 waterdroporg:感谢教学我会尝试看看的!! 12/10 15:33