0

我正在尝试部署在使用 zend 框架开发的服务器网站 (http://webdeveloper.md) 上。当我在服务器上的帐户上输入文件管理器时,会显示以下结构:

anon_ftp
cgi-bin
conf
error_docs

httpdocs
和其他目录。

我在 httpdocs 中部署了我的项目,因此在访问它时,会显示标准的 zend 结构(设置、应用程序、数据等)。据我了解,我的网站主目录的路径是http://webdeveloper.md/httpdocs/public/index.php。我尝试将此路径插入到托管设置中的文档根目录中。现在,当我在浏览器中访问 webdeveloper.md 时,我收到错误 404(未找到)。

我相信问题出在我的 .htaccess 文件中。我没有任何改变,它包含标准代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

我试图修改它 - 又增加了一行:

RewriteBase /httpdocs/public 

那么这个:

RewriteBase http://webdeveloper.md/httpdocs/public

然后这个,而不是最后一行:

RewriteRule http://webdeveloper.md/httpdocs/public

没有任何作用!

我的 configuraion.ini 看起来像这样:

[production]
resources.cachemanager.database.frontend.name = Core
resources.cachemanager.database.frontend.options.lifetime = 7200
resources.cachemanager.database.frontend.options.automatic_serialization = true
resources.cachemanager.database.backend.name = File
resources.cachemanager.database.backend.options.cache_dir = APPLICATION_PATH "/../data/cache"
resources.cachemanager.database.frontendBackendAutoload = false
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.view[] =
resources.db.adapter = "PDO_MYSQL"
resources.db.isDefaultTableAdapter = true
resources.db.params.dbname = "database"
resources.db.params.charset = "utf8"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "***********"
resources.session.save_path = APPLICATION_PATH "/../data/sessions"
resources.session.use_only_cookies = true

date.timezone = "Europe/Chisinau"

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

resources.db.adapter = "PDO_MYSQL"
resources.db.params.dbname = "database"
resources.db.params.charset = "utf8"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "*********"
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

resources.db.adapter = "PDO_MYSQL"
resources.db.params.dbname = "database"
resources.db.params.charset = "utf8"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "*********"
4

1 回答 1

1

我已经解决了所有问题。实际上,我让 .htaccess 和 index.php 文件保持原样。正如我从其他用户的经验中了解到的那样,在服务器不允许修改 Document Root(最常见的情况 - 共享主机)的情况下,就会出现编辑 .htaccess 的必要性。这不是我的情况,所以我所要做的就是在服务器上编辑 PHP 设置。我对服务器上的 PHP 设置进行了以下修改: 1. 我将 Document Root 更改为指向我的公用文件夹(在我的情况下是 /httpdocs/public/);2. 在服务器上的 PHP 设置中,最初 open_basedir 是 ROOT:/tmp (或其他),我已将此值更改为 DEFAULT;3. 我在 PHP 设置 session.save_path 中进行了修改,并从我的 zend 项目中插入了会话目录的路径。最后我不得不删除所有文件并再次部署我的项目。为了解决所有问题,我已经查看了来自服务器的错误日志。祝你好运!

于 2013-01-05T21:16:26.797 回答