1

我正在试用phpStorm 7with的试用版php 5.5.5

当我在 phpStorm 中预览项目时(转到 index.php 并单击顶部的浏览器图标),它会打开

http://localhost:63342/project/index.php

从 Slim Framework获得默认页面。404导致 404 phpstorm 页面的Visit Home Page目标。http://localhost:63342/index.php/

如果我打开 bashPhpstormProjects/project/并启动本机 php 服务器php -S localhost:80,然后我在浏览器中转到 localhost。该项目按应有的方式完美运行。

我希望能够使用 phpstorms 预览功能,而不必手动启动本机服务器。

项目概况。

启动空项目,初始化作曲家,添加`"slim/slim":"2.*"并安装。添加了添加的 index.php


结构

// scroll down for content...
~/PhpstormProjects/project/index.php

// location of slim
~/PhpstormProjects/project/vendor/slim/slim ...

的内容index.php

 <?php
 error_reporting(E_ALL);

 // include composer autoload
 require_once('vendor/autoload.php');

 $App = new Slim\Slim;


 $App->get('/', function() {
   echo 'Hello SO';
 });

 $App->run();
4

1 回答 1

2

PhpStorm 的内置 Web 服务器必须通过http://localhost:63342/PROJECT_NAME/rest/of/the/path/file.phpURL 访问。这就是 URL自动构建的方式。

这里的关键元素是PROJECT_NAME部分——这是内置 Web 服务器如何检测您正在使用的项目(与标准 Web 服务器相比,后者将根据域名做出此类决定)。

据我了解,Slim 框架根本无法处理带有额外部分的 URL(至少在默认配置中),这是可以预期和可以理解的。

绕过此类限制,您必须进行一些简单的手动更改/配置,您将能够通过http://PROJECT_NAME:63342/rest/of/the/path/file.phpURL访问您的项目

假设项目名称是slim1

1. 在您的hosts文件(或本地 DNS 服务器,如果有的话)中,创建一个指向slim1localhost 的条目,例如127.0.0.1 slim1

2. 在 PhpStorm 中——创建“就地”类型Settings | Deployment的新部署条目 () 。将其标记为该项目的默认值并执行一些非常基本(和最小)的配置(例如,输入您要使用的 URL),例如:

连接选项卡

映射选项卡

3. 现在,当您在 index.php 上使用Preview file in...Open in Browser操作时,它将打开http://slim1:63342/index.php而不是原来的http://localhost:63342/slim1/index.php.

PS
这适用于任何框架,而不仅仅是 Slim。

于 2013-10-26T14:43:05.710 回答