Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从命令行启动PHP应用程序(WordPress)进行开发?_Php_Ruby_Wordpress_Apache_Sinatra - Fatal编程技术网

从命令行启动PHP应用程序(WordPress)进行开发?

从命令行启动PHP应用程序(WordPress)进行开发?,php,ruby,wordpress,apache,sinatra,Php,Ruby,Wordpress,Apache,Sinatra,我最近一直在攻击Ruby/Sinatra,我很喜欢它。几年后,现在我需要再次使用WordPress 我不喜欢XAMPP和MAMP(我在Mac上),因为它们对文件的存放位置有严格的要求,而且看起来通常都是巨大的、整体的。在我的其他项目中,我希望将我的PHP项目保存在离散的文件夹中 有没有办法通过命令行从目录运行轻量级Apache/PHP开发实例?我想通过http://localhost:XXXX/其中XXXX是任意端口号。与Rails或Sinatra/Shotgun的工作原理非常相似 否则,201

我最近一直在攻击Ruby/Sinatra,我很喜欢它。几年后,现在我需要再次使用WordPress

我不喜欢XAMPP和MAMP(我在Mac上),因为它们对文件的存放位置有严格的要求,而且看起来通常都是巨大的、整体的。在我的其他项目中,我希望将我的PHP项目保存在离散的文件夹中

有没有办法通过命令行从目录运行轻量级Apache/PHP开发实例?我想通过
http://localhost:XXXX/
其中XXXX是任意端口号。与Rails或Sinatra/Shotgun的工作原理非常相似

否则,2013年推荐的轻量级PHP运行方式是什么?

PHP5.4.0引入了。这应该是你要找的

编辑:似乎可以

如果您将router.php放在wordpress目录中,就不用担心-t标志了。即指定一个替代文档根


@hakre编辑我的答案,包括如何在上面运行wordpress的想法和参考。这对我很有用。作为记录,我将我的自制升级到PHP5.5.3,它(带有SQLite集成插件)在没有您提供的路由器代码的情况下运行WordPress似乎很好。谢谢你。
<?php

$root = $_SERVER['DOCUMENT_ROOT'];
chdir($root);
$path = '/'.ltrim(parse_url($_SERVER['REQUEST_URI'])['path'],'/');
set_include_path(get_include_path().':'.__DIR__);
if(file_exists($root.$path))
{
if(is_dir($root.$path) && substr($path,strlen($path) - 1, 1) !== '/')
$path = rtrim($path,'/').'/index.php';
if(strpos($path,'.php') === false) return false;
else {
chdir(dirname($root.$path));
require_once $root.$path;
}
}else include_once 'index.php';
$ php -S localhost:9393 -t /path/to/wordpress router.php