问题标签 [php-builtin-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
126 浏览

php - 如何从目录中取消绑定 php 内置服务器?

我创建了一个本地 WordPress 站点并在 XAMPP 中使用虚拟主机设置它,因此地址test-wp.dev是家庭地址。一切正常,然后出于某种原因,我决定关闭 apache,让 mysql 保持打开状态并尝试在服务器中构建。

所以我导航到C:/xampp/htdocs/test/wordpress/并运行php -S localhost:8080

它工作得很好。但是,今天我使用 Apache 服务器回到 test-wp.dev,它一直重定向到localhost:8080。我现在不想使用内置服务器。我想要阿帕奇。

我在哪里“解除绑定”或释放该端口或其他什么。我不想再为该文件夹运行内置服务器。

谢谢。

视窗 7 PHP 5.6

0 投票
1 回答
1000 浏览

php - xdebug 无法在使用 laravel 的内置服务器的 netbeans 上工作

我在尝试在 NetBeans 中进行调试时遇到了问题。我设置断点并单击“调试项目”按钮 (Ctrl+F5),但 IDE 中未显示任何调试信息。

另外,phpinfo(); 没有为我提供xdebug部分。

我正在使用 Laravel 框架版本 5.0

它有一个server.php文件,我在 NetBeans IDE 的运行配置中将其用作路由器脚本(PHP 内置 Web 服务器)。

server.php如下:

这是我在php.ini中的 xdebug 配置:

只要我下载了Thread Safe PHP 包 ( php-5.6.7-Win32-VC11-x64 ) ,我就会使用zend_extension_ts属性。我也试过zend_extension

php_xdebug.dll是 2.3.2 版本(一个PHP 5.6 VC11 TS(64 位)之一)。

0 投票
3 回答
370 浏览

php - 防止 Symfony2 内置服务器死机

我正在使用bin/console server:run(或app/console用于 Sf2 目录结构)使用 Symfony2 开发应用程序。不幸的是,在多个系统上它最终会死掉(通常是因为段错误)。

我尝试了多个 PHP 版本和操作系统(Ubuntu 14.10 和 15.04 上的 5.5、5.6,OS X 10.9 和 10.10)。

我报告了错误并继续工作,但我很恼火我必须不时手动重新启动服务器。

我试图做这样的事情作为我的“构建目标”:

但不幸的是,它有时只能工作(我尚未确定它无法重新启动服务器的原因)。

你能推荐另一种方法来保持这个服务器最好而不修改全局服务/守护进程吗?

0 投票
0 回答
261 浏览

php - 当使用 PHP 内置服务器和 Symfony 2 请求任何路径时,$_SERVER['SCRIPT_NAME'] 是 /index.html

我有这种奇怪的行为,如果路径不包含句点(例如 /whatever-something/a-page ),则该$_SERVER变量SCRIPT_NAME将替换为 index.html 或 index.php 如果它们存在于根文件夹中。SCRIPT_NAME是正确的值: /whatever.something/a-page 当根文件夹中没有 index.html 或 index.php 时。

我检查了 Symfony 提供的 router_dev.php 中的 SCRIPT_NAME 值。

我像这样运行服务器:app/console server:run

示例 1 - 好

示例 2 - 好

示例 3 - 很奇怪!

这导致我的应用程序基本上在每个不包含句点的请求上提供 index.html。

谁能告诉我到底发生了什么?

0 投票
0 回答
951 浏览

php - php 内置服务器 - 如何将 APPLICATION_ENV 设置为 $_SERVER

我使用 Zend Framework 2 和 PHP 内置服务器。

Zend 文档说:

或者,在使用 Apache 时,您可以使用 VirtualHost 中的 APPLICATION_ENV 设置让 PHP 将其所有错误输出到浏览器。这在您的应用程序开发过程中很有用。

当我在我的机器上运行“php-built-in-server”时,我希望能够看到所有错误。

但是,如果我一$_SERVER['APPLICATION_ENV'] = 'development'开始就设置index.php它可能很难使用公共(开发)GIT 远程和(部署)私有远程。每次当我必须提交某些东西时,我都必须$_SERVER['APPLICATION_ENV']为每个环境更改 - 在每次提交中。

有没有办法在$_SERVER[]不影响实际代码的情况下设置变量?

0 投票
2 回答
1312 浏览

php - 从 PHP 内置网络服务器使用 shell_exec 运行后台进程

PHP 内置的网络服务器似乎无法shell_exec()正确处理后台进程;请求会一直挂起,直到后台进程完成,即使它被显式放置在后台&

例子:

然后在另一个外壳中:

这不应该发生,如果使用生产级网络服务器,确实不会发生。有没有办法解决它?

(注意:这不是刷新问题。flush()在第一次回显之后添加不会使其发生,并且请求仍然挂起,直到后台进程完成。)

0 投票
1 回答
529 浏览

wordpress - PHP 内置 Web 服务器上的 Wordpress 多站点开发

我正在尝试在我的本地 MAC 上为 Wordpress 多站点设置开发环境。我正在使用 PHPStorm 和内置的 PHP 网络服务器进行开发。内置网络服务器的限制之一是不支持 apache mod_rewrite,而是使用路由脚本。然而,很少有关于从 .htaccess 规则转换成这些的明确文档。

是我从哪里开始的,基本的 Wordpress 重定向 htaccess 用于在其自己的目录(/wordpress)中使用 Wordpress 的多站点......有人可以为我指出如何将其转换为路由脚本的资源的好方向吗?

0 投票
1 回答
1172 浏览

php - Windows PHP 5.6 内置服务器 SQLite3

我在 Windows 7 上安装了 PHP 5.6,并使用内置服务器在本地运行网站进行测试。我想连接到一个 Sqlite3 文件,并且我取消了 C:\Program Files\php 文件夹中 php.ini 文件中相应行的注释。尝试在本地服务器上查看页面时仍然出现此错误:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\Users\USERX\Documents\pageloadbasic.php:13 Stack trace: #0

C:\Users\USERX\Documents\pageloadbasic.php(13): PDO->__construct('sqlite:db/lhblo...') #1 {main} thrown in C:\Users\USERX\Documents\pageloadbasic.php on line 13

为什么我会收到此错误?

几点注意事项:我的 phpinfo 文件显示:

Configuration File (php.ini) Path C:\Windows(由于某种原因,即使那里没有 php.ini 文件,这始终默认为 C:\Windows)

Loaded Configuration File C:\Program Files\php\php.ini

但是 C:\Windows 中没有 php.ini 文件。此外,我的 php 文件夹在 ext 文件夹中不包含 php_pdo.dll,但我添加了一个从 pecl-5.0.5-Win32 存档中提取的文件,如其他一些站点中所述。

extension=php_pdo.dll在我的 php.ini 文件中添加了。

我没有评论extension=php_pdo_sqlite.dll

我没有评论extension=php_sqlite3.dll

我的 php.ini 中有这两行与 sqlite 相关:

[sqlite] ; http://php.net/sqlite.assoc-case ;sqlite.assoc_case = 0(我没有更改这两行的任何内容,因为我不确定它的用途......)

[sqlite3] sqlite3.extension_dir = "ext"(在这一行上,我按照另一篇文章的建议添加了“ext”目录)

我在我的 php 代码中有这个来使用 pdo 连接到我的 db 文件:
$db = new PDO('sqlite:db/xxxxx.db');

我错过了什么?我需要做什么才能让 PDO 与 Sqlite3 一起工作?

0 投票
1 回答
1110 浏览

php - phalcon php内置服务器打开失败需要.htrouter

尝试使用 php 5.6 中的内置 http 服务器运行 phalcon 2.0.7 应用程序,并包含 .htrouter 以使 URI 重写工作。一切似乎都找到了,直到我die()在控制器中使用。它第一次按预期工作,但刷新时抛出 PHP 致命错误:

有没有办法解决这个问题,或者我应该开始配置其他 http 服务器?

0 投票
1 回答
1510 浏览

php - php内置网络服务器缓存问题

我正在开发一个涉及 PHP 内置 Web 服务器的测试项目,并且正在测试一些想法。

我想对常用资源(png、jpg、json、txt等)实现自己的缓存机制,以减少php内置服务器的负载。

我像这样启动内置服务器:

php -S 127.0.0.1:80 -t 公共路由器.php

因此,内置服务器的文档根目录设置为public并运行router.php(因为我也在考虑实现一个简单的重写功能)。

这是我的router.php文件的内容:

我通过访问以下 url 测试了资源(png 图像)缓存:http://localhost/apple-icon-120x120.png

因此,这是资源的第一次加载,因此 serveHTTP 200按预期返回具有响应的资源,大约需要307ms在此处输入图像描述

现在,如果我按下F5重新加载页面,服务器HTTP 304会按预期返回(未修改)并且请求大约需要5ms(太棒了!!): 在此处输入图像描述

如果我F5第三次按下,服务器仍然HTTP 304按预期返回(未修改),但是这次请求306ms再次花费了大约(好像资源没有缓存): 在此处输入图像描述

如果我一直按,处理请求的时间会在大约 和F5之间随机交替。5m307ms

任何想法为什么它会这样?一旦资源被缓存,它不应该不断返回304并处理请求5ms吗?为什么这种行为是零星的?

我确实看到返回的内容大小是225 bytes(当它知道数据被缓存时),我只是无法弄清楚请求处理时间的瓶颈在哪里。我的主机正在运行带有 Intel i7 CPU、6GB RAM 和 SSD 驱动器的 Windows。