找不到openshift php文件(localhost中的语法相同)

时间:2014-01-12 13:10:39

标签: php nginx openshift

我使用的openshift是一个带有nginx + php 5.5.8 + phalcon 1.2.4的DIY catridge

我的目录结构如下

website
    public
       index.php
    app
       config
           config.php
           loader.php
           routes.php
           services.php

问题出在我的public/index.php我做

try {
    /**
     * Read the configuration
     */
    if (file_exists(__DIR__ . "/../app/config/config.php"))
    {
        $config = include __DIR__ . "/../app/config/config.php"; 
    }else{
        throw new Exception("Failed to include 'config.php'");
    }

它失败了

Failed to include 'config.php'
#0 {main}

这与openshift有关吗?因为我在我的localhost中做的正确(虽然它是在localhost的apache中)脚本应该加载config.php

(从is_file更改为file_exist,因为它更有意义)

3 个答案:

答案 0 :(得分:0)

您确定文件存在吗?另外,检查父目录是否有“+ x”。引自PHP手册(http://php.net/is_file):

  

请注意,如果父目录没有,则is_file()返回false   + x为你设置;这是有道理的,但其他函数,如readdir()似乎没有这个限制。最终的结果是你可以   循环遍历目录的文件,但is_file()将始终失败。

答案 1 :(得分:0)

刚刚发现我的本地仓库上面有文件而不是config.php的问题。

概率1:可能是因为openshift拒绝使用config.php文件名

概率2:执行git push时发生了一些错误

现在与另一个bug决斗但是这个bug已经解决了

答案 2 :(得分:0)

openshift不会拒绝使用config.php文件名,请确保已将其添加到您的git存储库中,并且任何.gitignore文件都不会忽略它。