Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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 如何在没有包含路径的虚拟主机上生成推进ORM对象?_Php_Orm_Build_Propel_Phing - Fatal编程技术网

Php 如何在没有包含路径的虚拟主机上生成推进ORM对象?

Php 如何在没有包含路径的虚拟主机上生成推进ORM对象?,php,orm,build,propel,phing,Php,Orm,Build,Propel,Phing,我有一个dev服务器,上面有几个虚拟主机。 每个人都需要能够运行命令:propel gen./creole 该脚本执行一些php,对数据库进行反向工程。。。 但需要包含它执行的php才能执行此操作 php.ini中没有设置include_路径,因为它对所有虚拟主机都是全局的。 我需要每个vhost的include_路径都是唯一的 如何在命令行上执行此工作? (注意:htaccess不起作用,因为命令行不经过apache) 这个问题还有别的解决办法吗? 也许传递一个命令行参数来设置包含路径? 也许

我有一个dev服务器,上面有几个虚拟主机。 每个人都需要能够运行命令:propel gen./creole 该脚本执行一些php,对数据库进行反向工程。。。 但需要包含它执行的php才能执行此操作

php.ini中没有设置include_路径,因为它对所有虚拟主机都是全局的。 我需要每个vhost的include_路径都是唯一的

如何在命令行上执行此工作? (注意:htaccess不起作用,因为命令行不经过apache)

这个问题还有别的解决办法吗? 也许传递一个命令行参数来设置包含路径? 也许在里面放点什么吧。bashrc? :(


另外,该脚本在我的mac上运行良好,它有一个硬编码的include路径。当从命令行运行PHP时,您可以使用
-d
开关定义配置选项,这些选项通常在
PHP.ini

有关在CLI中运行PHP时可以执行哪些操作的更多信息,请查看

在您的情况下,假设您正在运行此命令,它只显示当前的
include\u路径

$ php -r 'var_dump(get_include_path());'
默认输出如下(在我的机器上,顺便说一句):

现在,使用
-d
覆盖
include_path
,方法如下:

$ php -dinclude_path='.:/usr/local/lib/php:/var/my/directory/lib' -r 'var_dump(get_include_path());'
你会得到:

string(42) ".:/usr/local/lib/php:/var/my/directory/lib"

我承认,这很无聊/打字时间很长,有时你会忘记
-dblahblah
之类的东西

因此,您可以定义一个别名,有点像这样:

$ alias myphp='php -dinclude_path=".:/usr/local/lib/php:/var/my/directory/lib"'
现在,如果您使用的是
myphp
命令而不是
php
,则无需再指定
include\u路径

$ myphp -r 'var_dump(get_include_path());'
string(42) ".:/usr/local/lib/php:/var/my/directory/lib"
这不会在shell会话之间持续存在…因此您可以将
alias
命令放在
~/.bashrc
的末尾,以便在每次登录时执行:-)

$ myphp -r 'var_dump(get_include_path());'
string(42) ".:/usr/local/lib/php:/var/my/directory/lib"