2011-03-11 60 views
0

我正在编写我自己的微小部署脚本,并且我需要在将db.php文件复制到远程主机时更改db登录名和密码。如果没有手工分析(preg_replace等)php文件的文本,是否可以更改变量/常数值?更改常量,在PHP文件中的var值

我知道PHP有tokenizer,但我不知道如何使用它。

请帮我拿一些样品。

任何帮助和建议表示赞赏。

谢谢。

+0

为什么不单独开发和生产'db.php'并在每个地方复制/使用合适的呢? – miku 2011-03-11 01:36:56

+0

为什么不将它存储为已经用于配置软件的几十种标准文件格式之一? – 2011-03-11 01:39:13

+0

@miku,我不希望任何人(涉及到开发过程)知道生产数据库访问的登录名和密码。 – Kirzilla 2011-03-11 01:39:55

回答

2

一个简单的str_replace就足够了,例如:

$config = file_get_contents('config.dist'); 
$config = str_replace(
       array('##USERNAME##', '##PASSWORD##'), 
       array($realUsername, $realPassword), 
       $config); 
file_put_contents('config.php', $config); 

其中config.dist会是这个样子:

<?php 
$username = '##USERNAME##'; 
$password = '##PASSWORD##'; 
?> 
0

您可能会发现phing矫枉过正,但它是非常有用的。 http://phing.info/trac/

+0

主要矫枉过正,哈哈,但有趣的话题。 – Jason 2011-03-11 01:42:19

+0

哇,我不知道,PHP构建框架存在! – Kirzilla 2011-03-11 01:46:32