Используя EasyPHP, я обнаружил досадную ошибку, которую не могу исправить. Я искал в Интернете, получил несколько просмотров, но я ничего не получил от этих сообщений в блоге и страниц.
PHP и Apache работают нормально, но когда я хочу использовать MySQL с PEAR (который входит в EasyPHP) и когда я require("DB.php")
, я получаю эту ошибку:
Warning: require(DB.php) [function.require]: failed to open stream: No such file or directory in G:\Server\EasyPHP-5.3.3\www\tester.php on line 2
Fatal error: require() [function.require]: Failed opening required 'DB.php' (include_path='.;C:\php5\pear') in G:\Server\EasyPHP-5.3.3\www\tester.php on line 2
Мой PHP-скрипт выглядит так (это всего лишь тестер):
<?php
require "DB.php";
$db = DB::connect('mysql://root@localhost');
if (DB::isError($db)) { die("Can't connect:" . $db->getMessage()); }
?>
Я попытался изменить путь "DB.php"
к «PHP» -папке EasyPHP и к "Php\PEAR"
и всяким странным вещам, но, похоже, ничего не работает; Я получаю ту же ошибку, но с другим путем в первой строке сообщения об ошибке.
В соответствии с этой страницей эта ошибка вызвана тем, что некоторые phar-объекты не получают pharred или что-то в этом роде - я ничего не понимаю и не понимаю обходной путь упоминается на странице .
Обходной путь выглядит следующим образом:
Запустите распределенный phar с помощью php -d phar.require_hash = 0 go-pear.phar
Не имеет никакого смысла, если вы спросите меня :) Другой вариант - «загрузить эту нефардовую версию идиотской штуки и использовать ее». Начинаю иметь смысл, но что я тогда собираюсь делать с чокнутой грушей?
Я попробовал первый обходной путь , хотя я действительно не понимаю этого. Я открыл CMD и он сказал: C:\Users\Lasse>
по умолчанию (Лассе мое имя)
Я попытался открыть папку, содержащую go-pear.phar. Это результат:
C:\Users\Lasse>cd G:\Server\EasyPHP-5.3.3\php\PEAR //*hit enter*
C:\Users\Lasse> //this was shown, typed content of the line below this
C:\Users\Lasse>php -d phar.require_hash=0 go-pear.phar //*hit enter*
'php' was not recogninzed as an intern or extern command, a program or a batchfile.
C:\Users\Lasse>
Я не могу редактировать то, что находится перед >
в C:\Users\Lasse>
. Каждый раз, когда я ввожу команду, которая не возвращает ошибок (т.е. в первой строке моего примера выше), отображается двойной разрыв строки с последующим значением по умолчанию C:\Users\Lasse>
.
Для многих из вас это может стать сюрпризом , но я полный noob , когда дело доходит до баз данных и PEAR (высокие пять для самоиронии). Кроме того, я только что установил EasyPHP, поэтому, пожалуйста, не будьте слишком резкими.
Также ... в соответствии с phpMyAdmin (который также включен в EasyPHP) моя версия MySQL - 5.x (x означает что-то, что я не помню). Значит ли это, что я должен использовать 'mysqli://root@localhost'
?