验证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