首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从内置PHP 5.4 Web服务器运行webpharphp文件?

如何从内置PHP 5.4 Web服务器运行webpharphp文件?
EN

Stack Overflow用户
提问于 2018-04-13 05:03:46
回答 2查看 0关注 0票数 0

按照标题,我创建了一个非常简单的测试工具。我想用内置的网络服务器(PHP 5.4)来测试它,但似乎不可能。

代码语言:javascript
复制
php -S localhost:80 /path/to/myphar.php
代码语言:javascript
复制
php -S localhost:80 -t /path/to/folder_with_index_and_phar
代码语言:javascript
复制
<?php

require 'phar://myphar.php'

这甚至可能或者我必须使用Apache?

以下是发生了什么:

代码语言:javascript
复制
php -S localhost:80 -t /path/to/app.phar
php -S localhost:80 -t /path/to/app.phar

导致一个错误:/path/to/app.phar不是一个目录。

而:

代码语言:javascript
复制
php -S localhost:80 -t .
http://localost/app.phar/foo/bar

工程,但我不需要app.phar “前缀”!

使用Apache并将目录索引设置为app.phar可按预期工作。

EN

回答 2

Stack Overflow用户

发布于 2018-04-13 13:49:38

php -S localhost:80 -t /path/to/phar因为-t参数是用于目录的,所以不会起作用。诀窍是php webserver支持通过路由器作为参数。因此,假设你的phar在/ tmp(可以在任何地方),这就是你如何创建一个简单的路由器,并设置网络服务器:

代码语言:javascript
复制
echo '<?php require("/path/to/phar");'>/tmp/router.php
php -S localhost:80 /tmp/router.php
票数 0
EN

Stack Overflow用户

发布于 2018-04-13 14:05:49

代码语言:javascript
复制
php -S localhost:8080 phpinfo.phar

这似乎对我来说很好,我从一个简单的phar文件中创建出来 phpinfo();

我在PHP文档中注意到,在创建PHAR文件时,似乎需要为CLI和WWW接口设置存根。

http://php.net/manual/en/phar.buildfromdirectory.php

代码语言:javascript
复制
<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));

具体来说,这就是我所做的。

代码语言:javascript
复制
#!/usr/bin/env php
<?php

$phar = new Phar('phpinfo.phar', 0, 'phpinfo.phar');

$phar->buildFromDirectory(__DIR__ . '/phpinfo');
$phar->setStub($phar->createDefaultStub('index.php'));

创建一个目录的phar文件:

代码语言:javascript
复制
phpinfo/
└── index.php

和index.php只是:

代码语言:javascript
复制
<?php phpinfo();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档