Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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 laravel中的localhost:xxxx链接_Php_Laravel 4 - Fatal编程技术网

验证php laravel中的localhost:xxxx链接

验证php laravel中的localhost:xxxx链接,php,laravel-4,Php,Laravel 4,我的方法是: public function getAppLink($app_path) { if( ! $this->isAppExists($app_path)) { return false; } $content = $this->getContent(); // make sure that the link is available $validate_link = \Validator::make( ['app_link

我的方法是:

public function getAppLink($app_path)
{
    if( ! $this->isAppExists($app_path)) { return false; }
    $content = $this->getContent();

    // make sure that the link is available
    $validate_link = \Validator::make(
        ['app_link' => $content->apps->$app_path->link],
        ['app_link' => 'active_url']
    );

    if($validate_link->fails())
    {
        $this->setAppStatus($app_path, 'stopped');
        $this->setAppLink($app_path, 'invalid_link');

        return '';
    }
    else {
        $this->setAppStatus($app_path, 'started');
        return $content->apps->$app_path->link;
    }
}
在返回链接之前,我需要验证
localhost:xxxx
链接是否处于活动状态,是否可以通过浏览器访问

不知何故,laravel测试链接的方法不起作用,我是做错了,还是需要使用不同的方法


注意:xxxx是端口号

Laravel
活动url
验证器只是PHP函数的包装器。此功能的目的只是检查DNS记录,而不是实际检查服务器是否响应

由于您在
localhost
上,因此没有DNS记录,因此此检查无法工作

如果要检查浏览器是否可以访问链接,必须在浏览器上使用JavaScript进行检查。否则,您可能会遇到
http://localhost:1234
可从服务器访问,但由于防火墙或Web服务器仅侦听
127.0.0.1
而不是所有IP地址,因此无法从浏览器访问。虽然只要您在本地计算机上进行所有开发,这显然可以正常工作,但它可能会导致生产中出现问题(当然,这取决于您需要这些信息的确切目的)

如果您确实想检查站点是否已启动,只需对URL执行CURL-GET(或HEAD)请求


在Laravel中使用CURL的一个简单方法是使用。完整的文档太长,无法放在这里,但是您可以找到它。

Laravel
active\u url
Validator只是PHP函数的包装。此功能的目的只是检查DNS记录,而不是实际检查服务器是否响应

由于您在
localhost
上,因此没有DNS记录,因此此检查无法工作

如果要检查浏览器是否可以访问链接,必须在浏览器上使用JavaScript进行检查。否则,您可能会遇到
http://localhost:1234
可从服务器访问,但由于防火墙或Web服务器仅侦听
127.0.0.1
而不是所有IP地址,因此无法从浏览器访问。虽然只要您在本地计算机上进行所有开发,这显然可以正常工作,但它可能会导致生产中出现问题(当然,这取决于您需要这些信息的确切目的)

如果您确实想检查站点是否已启动,只需对URL执行CURL-GET(或HEAD)请求


在Laravel中使用CURL的一个简单方法是使用。完整的文档太长,无法放在这里,但是您可以找到它。

Laravel
active\u url
Validator只是PHP函数的包装。此功能的目的只是检查DNS记录,而不是实际检查服务器是否响应

由于您在
localhost
上,因此没有DNS记录,因此此检查无法工作

如果要检查浏览器是否可以访问链接,必须在浏览器上使用JavaScript进行检查。否则,您可能会遇到
http://localhost:1234
可从服务器访问,但由于防火墙或Web服务器仅侦听
127.0.0.1
而不是所有IP地址,因此无法从浏览器访问。虽然只要您在本地计算机上进行所有开发,这显然可以正常工作,但它可能会导致生产中出现问题(当然,这取决于您需要这些信息的确切目的)

如果您确实想检查站点是否已启动,只需对URL执行CURL-GET(或HEAD)请求


在Laravel中使用CURL的一个简单方法是使用。完整的文档太长,无法放在这里,但是您可以找到它。

Laravel
active\u url
Validator只是PHP函数的包装。此功能的目的只是检查DNS记录,而不是实际检查服务器是否响应

由于您在
localhost
上,因此没有DNS记录,因此此检查无法工作

如果要检查浏览器是否可以访问链接,必须在浏览器上使用JavaScript进行检查。否则,您可能会遇到
http://localhost:1234
可从服务器访问,但由于防火墙或Web服务器仅侦听
127.0.0.1
而不是所有IP地址,因此无法从浏览器访问。虽然只要您在本地计算机上进行所有开发,这显然可以正常工作,但它可能会导致生产中出现问题(当然,这取决于您需要这些信息的确切目的)

如果您确实想检查站点是否已启动,只需对URL执行CURL-GET(或HEAD)请求


在Laravel中使用CURL的一个简单方法是使用。完整文档太长,无法放在这里,但您可以找到它。

我使用fsockopen解决了这个问题:

// ==================================================== isLinkValid()
//
// $link : the link you want to validate, ex: localhost:1234
//
// return true | false
//
private function isLinkValid($link)
{
    if(strpos($link, ":") === false)
    {
        return false;
    }

    $arr_link = explode(":", $link);
    $host = $arr_link[0];
    $port = $arr_link[1];

    $sock_open = @fsockopen($host, $port);

    if(is_resource($sock_open))
    {
        fclose($sock_open);
        return true;
    }

    return false;
}

我使用fsockopen解决了这个问题:

// ==================================================== isLinkValid()
//
// $link : the link you want to validate, ex: localhost:1234
//
// return true | false
//
private function isLinkValid($link)
{
    if(strpos($link, ":") === false)
    {
        return false;
    }

    $arr_link = explode(":", $link);
    $host = $arr_link[0];
    $port = $arr_link[1];

    $sock_open = @fsockopen($host, $port);

    if(is_resource($sock_open))
    {
        fclose($sock_open);
        return true;
    }

    return false;
}

我使用fsockopen解决了这个问题:

// ==================================================== isLinkValid()
//
// $link : the link you want to validate, ex: localhost:1234
//
// return true | false
//
private function isLinkValid($link)
{
    if(strpos($link, ":") === false)
    {
        return false;
    }

    $arr_link = explode(":", $link);
    $host = $arr_link[0];
    $port = $arr_link[1];

    $sock_open = @fsockopen($host, $port);

    if(is_resource($sock_open))
    {
        fclose($sock_open);
        return true;
    }

    return false;
}

我使用fsockopen解决了这个问题:

// ==================================================== isLinkValid()
//
// $link : the link you want to validate, ex: localhost:1234
//
// return true | false
//
private function isLinkValid($link)
{
    if(strpos($link, ":") === false)
    {
        return false;
    }

    $arr_link = explode(":", $link);
    $host = $arr_link[0];
    $port = $arr_link[1];

    $sock_open = @fsockopen($host, $port);

    if(is_resource($sock_open))
    {
        fclose($sock_open);
        return true;
    }

    return false;
}

你发布的是“拉雷维尔之路”吗?“不起作用”是什么意思?@DourHighArch我需要的只是验证是否可以通过浏览器访问指向
localhost:port_number
的链接,这就是您发布的“laravel方式”?“不起作用”是什么意思?@DourHighArch我需要的只是验证是否可以通过浏览器访问指向
localhost:port_number
的链接,这就是您发布的“laravel方式”?“不起作用”是什么意思?@DourHighArch我需要的只是验证是否可以通过浏览器访问指向
localhost:port_number
的链接,这就是您发布的“laravel方式”?“不起作用”是什么意思?@DourHighA