Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php git使用另一个名称创建文件_Php_Git - Fatal编程技术网

Php git使用另一个名称创建文件

Php git使用另一个名称创建文件,php,git,Php,Git,假设在计算机上运行命令时,我将环境定义为: define('HOST', 'localhost'); 但当我在服务器上提交而不是在服务器上提交时,我希望出现另一个代码: define('HOST', 'server'); 所以我创建了两个文件index.php和index2.php(应该由脚本动态创建) 如何代表index.php提交index2.php?最好的解决方案是将环境变量保存在git未跟踪的文件中,并将其包含在php文件中 例如: index.php require_once('p

假设在计算机上运行命令时,我将环境定义为:

define('HOST', 'localhost');
但当我在服务器上提交而不是在服务器上提交时,我希望出现另一个代码:

define('HOST', 'server');
所以我创建了两个文件index.php和index2.php(应该由脚本动态创建)


如何代表index.php提交index2.php?

最好的解决方案是将环境变量保存在git未跟踪的文件中,并将其包含在php文件中

例如:

index.php

require_once('parameters.php');
// rest of your code
parameters.php(用于本地环境)

.gitignore

./parameters.php
正如您所看到的,参数文件现在包含您的本地配置,并且不被git跟踪。您可以使用该环境的配置在远程服务器上创建另一个parameters.php文件

parameters.php(用于远程环境)


您似乎遇到了问题,因为某些文件取决于您的配置,而您的计算机和服务器上没有相同的配置

解决方案可以是在Git中放入一个具有通用配置的文件,并让它被覆盖


这就是原因:在他们的回购协议中有一个,但用户可以提供一个local.php来覆盖它。这个local.php不是要放在Git()中的。

我通常使用(web)服务器中设置的环境变量。例如,在Apache配置或.htaccess文件中:

SetEnv MYAPP_ENVIRONMENT production
在应用程序中,您可以针对不同的环境进行不同的配置;我以YAML文件的形式保存我的文件:

default:
    foo: bar
    baz: 42
production:
    foo: blarg
    baz: 84
然后查找环境变量:

$env = getenv('MYAPP_ENVIRONMENT');
并根据要使用的配置来决定

对于像数据库密码这样不应该存储在存储库中的敏感值,我甚至允许通过合并到配置文件中的环境变量设置任意值。例如:

SetEnv MYAPP_FOO blörg
(上述内容将覆盖任何配置中的
foo

$env = getenv('MYAPP_ENVIRONMENT');
SetEnv MYAPP_FOO blörg