Итак, я пытаюсь написать короткую функцию с помощью PHP, чтобы проверить, доступен ли сервер (или резервная копия). Служба предоставляет два сервера для использования и страницу на сервере, которая просто имеет «ОК» в элементе с идентификатором «server_status». Я в основном взял свой код, который они предоставили, и скорректировал его так, чтобы он обеспечивал необходимый объем вывода. Я хочу получить массив истинных или ложных (в зависимости от того, доступен ли один из сайтов) и правильной страницы, если это так. Прямо сейчас каждый раз выводится результат (false, «e404.html»), и это то, что я установил для вывода, если условия не выполнены. Вот мой код:PHP getElementById не работает
function checkURL() {
$servers = array('tpeweb.paybox.com', // primary URL
'tpeweb1.paybox.com'); // backup URL
foreach($servers as $server){
$doc = new DOMDocument();
$doc->loadHTMLFile('https://'.$server.'/load.html');
$server_status = "";
$element = $doc->getElementById('server_status');
if($element){
$server_status = $element->textContent;
}
if($server_status == "OK"){
// Server is up and services are available
return array(true, 'https://'.$server.'/cgi/MYchoix_pagepaiement.cgi');
}
}
return array(false, 'e404.html');
}
Выполнение некоторых выходного тестирования, оказалось, что я загружаю документ в $ документ, но он не заполняет $ элемент. Я новичок в PHP, поэтому я не совсем уверен, что не так.
EDIT:
Это исходный код, что услуга предоставляется, чтобы сделать эту проверку, я настроил его, потому что мне нужно, чтобы быть в состоянии фактически выводить ссылку использовать:
<?php
$servers = array('urlserver.paybox.com', // primary URL
'urlserver1.paybox.com'); // backup URL
$serverOK = "";
foreach($servers as $server){
$doc = new DOMDocument();
$doc->loadHTMLFile('https://'.$server.'/load.html');
$server_status = "";
$element = $doc->getElementById('server_status');
if($element){
$server_status = $element->textContent;
}
if($server_status == "OK"){
// Server is up and services are available
$serverOK = $server;
break;
}
// else : Server is up but services are not available .
}
if(!$serverOK){
die("Error : no server found");
}
?>
//echo 'Connecting to https://'.$server.'/cgi/MYchoix_pagepaiement.cgi';
Спасибо, Adrian
Что такое содержимое переменной вашего сервера? – siddhesh
Он работает для меня .. PHP 5.4 –
Хорошо работает здесь, код кажется ОК. Угадайте что-то в PHP conf. – yergo