ZF2安装在共享主机服务器上

时间:2013-06-07 20:45:38

标签: zend-framework2

我正在尝试在我的共享托管服务器上安装ZF2。我按照以下步骤操作:

  1. 在我的计算机上下载并解压缩了Zend Framework 2.

  2. 在我的“public_html”上创建了一个名为“zendPrj”的目录。

  3. 使用Filezilla将“Zend”目录上传到“zendPrj”文件夹中。

  4. 使用以下命令创建“php.ini”:

    include_path = ".:/usr/lib/php:/usr/local/lib/php:/home/public_html/mycpanalusername/zndPrj/Zend/library"
    allow_url_fopen = On
    allow_url_include = On
    

    并将其上传到“Zend”文件夹(其中包含“library”,“bin”,“resources”文件夹)。

  5. 使用以下指令创建“.htaccess”文件:

    SetEnv PHPRC /home/mycpanalusername/public_html/zendPrj/Zend/php.ini
    
  6. 按如下方式创建测试文件:

    require_once 'Zend/Mail.php';
    $mail=new Zend_Mail();
    print_r($mail);
    echo 'it is working';
    
  7. 但我没有得到任何结果。而是显示空白页面。我哪里错了?

2 个答案:

答案 0 :(得分:5)

好的,这就是我在共享主机中设置ZF2应用程序的方式

我的应用程序的文件夹结构应该复制到子域文件夹(与zf2应用程序结构相同)

ZF2 folder structure

步骤1:将zf2库(即zendframework下载中的ZEND文件夹)复制到主机的根文件夹中,即复制后它看起来像这样(在我的情况下)/ home / username / zf2lib / ZEND(任何位置都无法访问公共)

第2步:编辑.htaccess

#SetEnv ZF2_PATH /home/username/zf2lib
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]

步骤3:编辑init_autoloader.php指向zf2库,在这里我们有两个选项1.如果你的主机支持.htaccess中的SetEnv标签,那么只需取消注释上面.htaccess中的第一行(主要是共享主机')提供这些选项,特别是在我的情况下)如果选项1不可用,那么你必须编辑init_autoloader.php文件,如下所示

enter image description here

从第24行到第32行注释,这段代码负责初始化zend库的各种选项,在我们的例子中我们知道zf2 lib的加载位置,所以我们要硬编码路径,添加第33行并更改用户名为主机用户名。

最后一步:将所有这些内容复制到您的子域文件夹并使用subdomain.domain.com访问该网站,这对我来说效果很好,希望它对你也有用,祝你好运!

答案 1 :(得分:3)

如果您尝试只访问其中一个类(即Mail),那么您应该注意到在ZF2中,库结构已更改为PSR-0。所以Zend / Mail.php不存在,类名不是Zend_Mail。要访问邮件类,您需要包含Zend / Mail / Mail.php,类名只是Mail。

如果你正在尝试使用完整的MVC堆栈,那么你应该做Raj所建议的。

此外,如果您想查看错误是什么,您可能希望将其包含在文件的顶部:

error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
相关问题