我试图建立一个PHP网站,我想测试我的PHP文件,而不是上传到我的主机。基本上是在上传之前先在我自己的机器上测试。我怎么做呢?


当前回答

我经常使用以下命令来旋转我的PHP Laravel框架:

$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/

在上述命令中: Artisan是Laravel中包含的命令行界面,它使用服务调用内置的php服务器

使用内置的web服务器运行。

 php -S <addr>:<port> -T

在这里, -S:切换到运行内置web服务器。 -T:开关 为内置web服务器指定文档根目录。

其他回答

安装XAMPP。如果你用的是MS Windows, WAMP也是一种选择。

我用WAMP。一个简单的安装向导,为Apache和PHP预配置的大量模块,易于打开和关闭,以匹配您的远程配置。

另一种选择是Zend服务器社区版。

AppServ是一个在Windows中运行的小程序:

Apache PHP MySQL phpMyAdmin

它还将为Apache提供启动和停止按钮。我觉得这很有用。

您还可以使用代码在PHP中创建自己的服务器!

<?php
set_time_limit(0);

$address = '127.0.0.1';
$port =4444;
$server = '$address + $port';

// <-- Starts Server
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die('Could not bind to address');
echo "\n Server is running on port $port waiting for connection... \n\n";

while(1)
{
    socket_listen($sock);
    $client = socket_accept($sock);

    $input = socket_read($client, 443);

    $incoming = array();
    $incoming = explode("\r\n", $input);

    $fetchArray = array();
    $fetchArray = explode(" ", $incoming[0]);

    $file = $fetchArray[1];
    if($file == "/"){ 

   

$file = "src/browser.php";//当服务器启动时,这个文件是打开的!

    } else {

        $filearray = array();
        $filearray = explode("/", $file);
        $file = $filearray[1];
    }

echo $fetchArray[0] . " Request " . $file . "\n"; 

// <-- Control Header
$output = "";
$Header = "HTTP/1.1 200 OK \r\n" .
"Date: Fri, 31 Dec 1999 23:59:59 GMT \r\n" .
"Content-Type: text/html \r\n\r\n";

$Content = file_get_contents($file);
$output = $Header . $Content;

    socket_write($client,$output,strlen($output));
    socket_close($client);

}
print('server running..');

运行这段代码,然后打开浏览器到localhost:443或任何您选择的端口