Php 没有虚拟主机的ZF2框架应用程序?

Php 没有虚拟主机的ZF2框架应用程序?,php,zend-framework2,virtualhost,Php,Zend Framework2,Virtualhost,我是ZF2的新手。我使用虚拟主机在本地计算机上开发了我的小应用程序。我想在没有虚拟主机的情况下运行此网站 我的文件夹目录结构如下所示: -ProjectName -config -module -vendor - zendframework -public - css - img - JS - index.php Index.php文件: <?php /** * This makes our life easier whe

我是ZF2的新手。我使用虚拟主机在本地计算机上开发了我的小应用程序。我想在没有虚拟主机的情况下运行此网站

我的文件夹目录结构如下所示:

-ProjectName  
  -config
  -module
  -vendor
    - zendframework
  -public
    - css
    - img
    - JS
    - index.php  
Index.php文件:

<?php
/**
 * This makes our life easier when dealing with paths. Everything is relative
 * to the application root now.
 */
chdir(dirname(__DIR__));

// Decline static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
    return false;
}

// Setup autoloading
require 'init_autoloader.php';

// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
为了访问CSS或图像,我一直使用$this->basePath prepend获取它

如果我这样写URL,我的应用程序运行良好:

localhost/projectname/public/modulename

但我不想在url中使用public。在url中没有公用文件夹的情况下,如何调用我的项目。

将文件夹ProjectName放置在web服务器文档根目录之外的某个位置,并在其中创建指向公用文件夹的符号链接

例如,如果您的web服务器文档根目录:

/var/www/html
将您的项目放置到

/var/www
让simlink

/var/www/html/ProjectName -> ../ProjectName/public
如果您在Windows操作系统下工作,情况大致相同

针对您的情况,请执行以下步骤:

以管理员身份打开命令提示符 假设您的用户名是USERNAME,您的wamp磁盘位置是D:。执行命令:

C:\Users\USERNAME>d:

D:\>cd wamp\www

D:\wamp\www>mklink/D项目名称D:\wamp\www\projectname\public

之后,您可以尝试通过URL访问您的项目:

http:\\localhost\projectname

我无法理解你的想法。你能给我解释一下吗?给我一些信息:你的操作系统,你的web服务器的文档根,你的项目放置路径。但是你说我用虚拟主机在本地计算机上开发了我的小应用程序。对不起。我回复live site.ok np。我给你我的本地根路径:驱动器名:/wamp/www/projectname。操作系统:windows 7Its返回无效开关-D。