Мой php-скрипт отлично работает, если я выполняю его в оболочке ($ php test.php
). Но если я вызываю один и тот же php-файл в своем браузере, он просто работает по частям.
Я работаю в системе Debian4.9, php-файл находится в /var/www/html/
(это изменит). Я подозреваю, что это какая-то проблема с правами, но я не знаю, что именно и как ее решить. Как я могу дать www-data
(или кому?) Разрешение на выполнение php-модуля ARC2 и выполнение запроса SPARQL с моего сервера Фусеки 2?
Мой MWE:
<html>
<body>
<?php
include_once("semsol/ARC2.php");
$config = array (
'remote_store_endpoint' => 'http://localhost:3030/test/query',
);
$store = ARC2::getRemoteStore($config);
$query = 'SELECT * WHERE {?s ?p ?o} LIMIT 10';
$rows = $store->query($query, 'rows');
echo "<table>";
foreach ($rows as $row) {
print "<tr><td>" .
$row['s'] . "</td><td>" .
$row['p'] . "</td><td>" .
$row['o'] . "</td></tr>" ;
}
echo "</table>";
?>
</body>
</html>
В консоли разбирает хорошо, в браузере останавливается на <html><body>
.
Ваш foreach не закрыт с помощью }
Дубликат, да. Работает, если я напишу весь путь к ARC2 (см. stackoverflow.com/a/12820243/5764123) Спасибо!
вы включали ошибки?