Yii2:无法执行应用程序。阿帕奇显示 "Index of"
Yii2: Application can't be executed. Apache shows "Index of"
我开发了一个 Yii2 应用程序,可以在我的计算机上使用 Debian。
然后我在一台装有 Windows 8 的计算机上安装了 Bitnami WAPP 并尝试执行它,但它不起作用。它像文件夹一样显示内容而不是执行代码:
我以为 Apache 有问题,它无法执行 PHP,所以我尝试执行一个基本示例,它完美运行:
<?php
phpinfo();
?>
更新: 我认为问题是地址错误。但是现在它显示这个错误:
我希望所有这些信息对您有所帮助。
Apache 日志:
[Thu Jul 12 08:22:35.576377 2018] [php7:warn] [pid 5100:tid 1004] [client ::1:56103] PHP Warning: require(C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web/../../vendor/autoload.php): failed to open stream: No such file or directory in C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web\index.php on line 5
[Thu Jul 12 08:22:35.576377 2018] [php7:error] [pid 5100:tid 1004] [client ::1:56103] PHP Fatal error: require(): Failed opening required 'C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web/../../vendor/autoload.php' (include_path='.;C:/Bitnami/wappstack-7.1.19-0/php/PEAR') in C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web\index.php on line 5
Apache access.log:
::1 - - [12/Jul/2018:08:22:35 -0300] "GET /donaciones-yii/backend/web/ HTTP/1.1" 500 -
donaciones-yii/backend/web/index.php:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', false);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../../vendor/autoload.php');
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../../common/config/bootstrap.php');
require(__DIR__ . '/../config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../common/config/main.php'),
require(__DIR__ . '/../../common/config/main-local.php'),
require(__DIR__ . '/../config/main.php'),
require(__DIR__ . '/../config/main-local.php')
);
(new yii\web\Application($config))->run();
你有一个 "Index of" 页面,因为你没有任何索引页面,可以在每个目录中自动加载。
尝试使用您的浏览器加载 requirements.php 页面,在您的情况下,http://localhost/donaciones-yii/requirements.php
你试过运行yii.bat吗?它必须生成所有必需的页面,如 index.php 和其他页面。
如果没有什么帮助,您可以查看下一个官方wiki页面:
https://www.yiiframework.com/wiki/171/to-configure-yii-path-in-windows-platform
https://www.yiiframework.com/wiki/534/a-very-easy-way-to-setup-yiic-on-wamp-server-without-extra-windows-settings
您正在您的 WAPP 上打开一个不打算在浏览器中打开的文件夹。
您的 public 浏览器应用程序很可能位于:
http://localhost/frontend/web/
和:
http://localhost/backend/web/
这些是您应该检查并且应该有效的文件夹。
仅 http://localhost/ 开放并不意味着仅 public 服务,您看到的是预期行为。
在生产场景中,您需要将 DocumentRoot 设置为例如“/var/www/frontend/web”,这样您就只会将相关文件夹提供给 public
我开发了一个 Yii2 应用程序,可以在我的计算机上使用 Debian。
然后我在一台装有 Windows 8 的计算机上安装了 Bitnami WAPP 并尝试执行它,但它不起作用。它像文件夹一样显示内容而不是执行代码:
我以为 Apache 有问题,它无法执行 PHP,所以我尝试执行一个基本示例,它完美运行:
<?php
phpinfo();
?>
更新: 我认为问题是地址错误。但是现在它显示这个错误:
Apache 日志:
[Thu Jul 12 08:22:35.576377 2018] [php7:warn] [pid 5100:tid 1004] [client ::1:56103] PHP Warning: require(C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web/../../vendor/autoload.php): failed to open stream: No such file or directory in C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web\index.php on line 5
[Thu Jul 12 08:22:35.576377 2018] [php7:error] [pid 5100:tid 1004] [client ::1:56103] PHP Fatal error: require(): Failed opening required 'C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web/../../vendor/autoload.php' (include_path='.;C:/Bitnami/wappstack-7.1.19-0/php/PEAR') in C:\Bitnami\wappstack-7.1.19-0\apache2\htdocs\donaciones-yii\backend\web\index.php on line 5
Apache access.log:
::1 - - [12/Jul/2018:08:22:35 -0300] "GET /donaciones-yii/backend/web/ HTTP/1.1" 500 -
donaciones-yii/backend/web/index.php:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', false);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../../vendor/autoload.php');
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../../common/config/bootstrap.php');
require(__DIR__ . '/../config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../common/config/main.php'),
require(__DIR__ . '/../../common/config/main-local.php'),
require(__DIR__ . '/../config/main.php'),
require(__DIR__ . '/../config/main-local.php')
);
(new yii\web\Application($config))->run();
你有一个 "Index of" 页面,因为你没有任何索引页面,可以在每个目录中自动加载。
尝试使用您的浏览器加载 requirements.php 页面,在您的情况下,http://localhost/donaciones-yii/requirements.php
你试过运行yii.bat吗?它必须生成所有必需的页面,如 index.php 和其他页面。
如果没有什么帮助,您可以查看下一个官方wiki页面:
https://www.yiiframework.com/wiki/171/to-configure-yii-path-in-windows-platform https://www.yiiframework.com/wiki/534/a-very-easy-way-to-setup-yiic-on-wamp-server-without-extra-windows-settings
您正在您的 WAPP 上打开一个不打算在浏览器中打开的文件夹。
您的 public 浏览器应用程序很可能位于:
http://localhost/frontend/web/
和: http://localhost/backend/web/
这些是您应该检查并且应该有效的文件夹。
仅 http://localhost/ 开放并不意味着仅 public 服务,您看到的是预期行为。
在生产场景中,您需要将 DocumentRoot 设置为例如“/var/www/frontend/web”,这样您就只会将相关文件夹提供给 public