0

zend フレームワークを使用して開発されたサーバー Web サイト (http://webdeveloper.md) にデプロイしようとしています。サーバーのアカウントでファイルマネージャーに入ると、次の構造が表示されます。

anon_ftp
cgi-bin
conf
error_docs
など
httpdocs
およびその他のディレクトリ。

プロジェクトを httpdocs にデプロイしたので、アクセスすると、標準の zend 構造 (設定、アプリケーション、データなど) が表示されます。私が理解しているように、私のウェブサイトのホーム ディレクトリへのパスはhttp://webdeveloper.md/httpdocs/public/index.phpです。このパスをホスティング設定内のドキュメント ルートに挿入しようとしました。ブラウザで webdeveloper.md にアクセスすると、エラー 404 (NOT FOUND) が発生します。

問題は私の .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]

私はそれを変更しようとしました - もう1行追加しました:

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 ファイルはそのままにしています。他のユーザーの経験から理解したように、.htaccess を編集する必要があるのは、サーバーがドキュメント ルートの変更を許可していない場合です (最も一般的なケース - 共有ホスティング)。これは私の状況ではなかったので、サーバーで PHP 設定を編集するだけで済みました。サーバーの PHP 設定で次の変更を行いました。2. サーバーの PHP 設定では、最初に open_basedir は ROOT:/tmp (または何か) でしたが、この値を DEFAULT に変更しました。3. PHP 設定の session.save_path を変更し、そこに私の zend プロジェクトからのセッション ディレクトリへのパスを挿入しました。最後に、すべてのファイルを削除して、プロジェクトを再度デプロイする必要がありました。すべての問題を解決するには、サーバーからのエラー ログを確認しました。幸運を!

于 2013-01-05T21:16:26.797 に答える