dxw/whippet-server

此包已被废弃,不再维护。没有建议的替代包。
此包最新版本(dev-master)没有可用的许可信息。

dev-master 2016-10-17 20:30 UTC

README

Whippet Server 为特定的WordPress安装启动一个独立的Web服务器。它通过添加大量的调试信息到终端,而不影响或破坏你的模板,使WordPress更容易开发。

Whippet Server 允许你在不使用Apache和不需要设置虚拟主机的情况下运行和开发WordPress网站。你甚至不需要WordPress文件 -- Whippet Server 也可以从wp-content文件夹中独立运行。

注意:Whippet Server 是Alpha软件。我们确信它仍然存在需要修复的问题,我们也知道安装过程可能有些繁琐。请让我们知道你的使用情况,或者如果你有问题,请创建一个问题。谢谢!

安装

克隆仓库并运行

$ composer install

你可能还想将Whippet Server链接到你的路径中的某个位置

$ sudo ln -s /path/to/the/script/called/whippet-server /usr/bin/whippet-server

PHP >= 5.4

Whippet Server 需要 PHP 5.4 或更高版本。如果没有使用 --enable_pcntl 标志编译,你将看到 "Call to undefined function pcntl_signal()" 错误。

通过运行 php -v 检查你当前使用的版本。

要安装,请执行

在Ubuntu 12.04 LTS下

$ sudo add-apt-repository ppa:ondrej/php5
$ sudo apt-get update
$ sudo apt-get install php5

在Ubuntu 12.10下

$ sudo apt-get install php5

在OSX下

有关简单安装的信息,请参阅 http://php-osx.liip.ch/

根据你的路径设置,你可能需要将安装位置添加到你的路径中(编辑你的 .bashrc 或类似文件)

使用上述方法,在尝试运行 whippet-server 时可能会出现错误

Error: Unable to find file /etc/mime.types, and failed to load fallback

在这种情况下,你可以从以下位置获取最新的 mime 文件:http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types 使用 --mime-file 参数指示 Whippet Server 使用此文件,或者将其保存到 /etc/mime.types

其他操作系统

对于Windows,你可能运气不佳。如果你设法使其工作,我们很高兴知道你做了什么。

对于其他操作系统,请咨询Google,或从PHP.net下载和安装:https://php.ac.cn/downloads.php

处理多个PHP版本

如果你出于某种原因不希望使用 5.4 作为系统PHP版本,请确保你的系统PHP在 PATH 中排在第一位,然后告诉 Whippet Server 在你的系统中查找PHP5.4的位置

$ WHIPPET_PHP=/path/to/php/5.4 whippet

MYSQL

如果您已在系统上直接安装了MYSQL,Whippet服务器应该可以正常运行。如果您遇到任何问题,请提出问题。

MAMP(OSX)下的MYSQL

如果您正在使用MAMP,并且出于某种原因不想直接安装MYSQL,您需要告诉PHP5.4如何使用MAMP的MySQL服务器。为了解决这个问题,请更新您的php.ini文件

$ sudo vi /usr/local/etc/php/5.4/php.ini

并在其中添加mysql.default_socket选项

mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock

Docker使用

在80端口上运行

$ docker run -ti --rm -v /path/to/wp-content:/app -p 80:80 thedxw/whippet-server

默认命令是"whippet-server -i 0.0.0.0 -p 80 --show-wp-errors --siteurl=http://localhost",因此如果您需要WordPress将不同的域名放入绝对URI中,或者您想让它监听不同的端口

$ docker run -ti --rm -v /path/to/wp-content:/app -p 8000:80 thedxw/whippet-server whippet-server -i 0.0.0.0 -p 80 --show-wp-errors --siteurl=http://mysite.local:8000

(请注意,--siteurl选项仅设置WP_SITEURL和WP_HOME常量 - 如果这些选项与数据库中的等效选项设置不同,您将遇到问题)。

如果您正在更改whippet-server或出于某种原因dockerhub上没有该镜像,您在这样做之前需要构建它

$ docker build -t thedxw/whippet-server .

以下部分包含有关可能有用的选项的说明。

用法

服务器

使用Whippet服务器最简单的方法是在现有的WordPress安装上。如果您有一个可用的安装,请转到WordPress安装的根目录,并执行以下操作

$ /path/to/whippet-server

您应该看到服务器启动。访问http://localhost:8000,您应该看到一个正常的WordPress网站。如果您查看您的终端,您将看到大量关于执行的查询、加载的模板等的输出。

过滤服务器输出

有时Whippet服务器的输出可能有点嘈杂。您可以自定义显示的内容

$ /path/to/whippet-server --no-sql

要获取Whippet服务器的完整选项列表,请执行以下操作

$ /path/to/whippet-server --help

设置默认值

这些选项中的任何一项都可以通过创建~/.whippetrc/etc/whippetrc作为Whippet的默认值。如果存在这两个文件,都会被读取。您本地的默认值将覆盖系统范围内的默认值。该文件应为ini格式

p = 8080
i = my-machine.local
show-wp-errors = true
; this is a comment

输出到控制台

调试WordPress网站的一种常见方法是使用var_dump()die()将输出输出到浏览器。当运行Whippet时,您可以将输出输出到控制台

Whippet::print_r(thing-to-be-output)

管理WordPress

Whippet服务器还可以使管理多个WordPress安装更加容易。您不需要为每个您工作的网站保留完整的WordPress安装,只需保留wp-content文件夹以及该网站的数据库即可

$ cd /path/to/wp-content
$ /path/to/whippet-server

Whippet服务器将检测它是否从wp-content文件夹启动。第一次这样做时,它会要求下载并存储最新的WordPress核心。然后,它将使用这些文件启动网站。您还可以指定您想使用的WordPress版本

$ /path/to/whippet-server --wp-version 4.1

Whippet 服务器会检查文件是否存在,如果不存在则要求下载,第一次运行特定 wp-content 目录时,会提示您输入数据库配置。

多站

WP_ALLOW_MULTISITE 总是开启的,所以您可以在任何时候通过“工具 > 网络设置”进行设置。一旦在数据库中设置了多站,您应该向 whippet-server 发送 SIGTERM 信号,并使用 --multisite-p 80 参数重新启动它。

注意,如果您不想在数据库上进行搜索/替换操作,在启用多站之前应该使用 -p 80 参数。

请记住,使用 sudo 是必需的,并且如果您已经在端口 80 上有服务器在监听,可能需要终止该服务器。

故障排除

问题

在 OSX 上安装并运行 whippet-server 后,在浏览器中看到以下错误

Your PHP installation appears to be missing the MySQL extension which is required by WordPress

解决方案

重新安装 php,并确保包含 --with-mysql 选项。

贡献

我们欢迎帮助改进 Whippet 服务器。如果您想修复错误或添加功能,请 Fork 项目到 Github,进行更改,并提交一个 Pull Request。如果是较大的事情,您可能需要先与我们联系。如果您需要灵感,请查看维基上的 TODO 页面。

作者

Harry Metcalfe (harry@dxw.com)

Tom Adams (tom@dxw.com)