Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интерпретатор РНР. PHP Fatal error, Интерпретатор РНР. PHP Fatal error 
:(
    Опции темы
Pcrepair
Дата 7.11.2016, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Добрый день. Есть следующая ситуация :
- ОС ВЫНь7СП1 и все нужные патчи, все работает
- веб-сервер АПАЧ (httpd-2.4.23-win32-VC14), все работает
- РНР (php-5.6.27-Win32-VC11-x86), все работает перезапускается сервер, страница из сервера с РНР доступна
- установлен Composer 1.2.2 все работает (php composer.phar -v) и (echo @php %~dp0composer.phar %*>composer.bat)
- установлен PowerShell 3. работает
- установлен GitHubSetup.exe (так в инструкции написано, что нужно)
- установлен проект (git clone https://github.com/mbry/DgdatToXlsx)
- установлены зависимости и сторонние библиотеки (composer update), в норме про ошибки ничего

Предварительные условия запуска выполнены, далее запуск обработки проекта :
  php convert.php
В результате вывод об ошибке и аварийное завершение обработки :
PHP Notice:  Undefined offset: 1 in C:\Users\admin\Documents\GitHub\DgdatToXlsx\convert.php on line 24
PHP Fatal error:  Call to undefined function ReadLong() in C:\Users\admin\Documents\GitHub\DgdatToXlsx\convert.php on line 92

Код

//--------- convert.php -----------------------------
require_once('vendor/autoload.php');
...
$id = ReadLong();  //92 строка
...
//завершающего ?> НЕТ в оригинале
//---------------------------------------------------

//---------- autoload.php ---------------------------
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit9a904986913db37dd90a4e24005b3a6f::getLoader();
//завершающего ?> НЕТ в оригинале
//---------------------------------------------------

//--------- autoload_real.php -----------------------
// autoload_real.php @generated by Composer
//упоминания о common.php тут нет
//---------------------------------------------------

//------------ common.php ---------------------------
//тут список функций, но  в выше стоящих скриптах нет ссылки на этот скрипт
//та самая функция на которой сбой

function ReadLong()
{    
//тут для чего TAB? вроде нельзя? нужно пробел?    global $fp;
    $v = fread($fp, 4);
    $v = unpack("L", $v);
    return $v[1];
}
//---------------------------------------------------


Вопрос : что тут не так? 
с РНР знаком немного, только для использования в веб-страницах
--------------------
Сборник рабочего кода Процедур и Функций DelPhi     http://validcoderepo.narod.ru/
PM MAIL WWW   Вверх
_zorn_
Дата 7.11.2016, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



А с чего вы взяли что композер подгрузит (пропишет в автозагрузку) ваш common.php ?
Сами его подгрузите через например require __DIR__ . '/common.php' (или где он у вас находится)

ЗЫ. Почему все думают, что думать за них должны инструменты ?
ЗЫЫ. И так на будущее. Познай неймспейсы.
Тогда вообще все просто с подгрузкой.
в composer.json
Цитата

"autoload": {
    "psr-4": {"App\\": "app/"}
},

И фигач в папке "app" классы от души smile

https://github.com/zorn-v/silex-project

Это сообщение отредактировал(а) _zorn_ - 7.11.2016, 20:49
PM MAIL   Вверх
Pcrepair
Дата 8.11.2016, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



вообще откудато грузит (в процессе интерпретации), поскольку останов обработки идет на 

Код

function ReadLong()
{    
    global $fp;
    $v = fread($fp, 4);
    $v = unpack("L", $v);
    return $v[1];
}


это видно в окне повершелл, там код функции вызываетя но это не главный вопрос

про компоузер взял с того что инструкция такая : composer update
и там все зависимости (которые аффтыр скрипта прописал) устанавливаются
ну и конечно добавлял и инклюд и требуется только раз, результат тот же

может синтаксис функции неправильный, там TAB вместо пробела используется

но вопрос вообще о том что значит сообщение
PHP Fatal error:  Call to undefined function ReadLong() in C:\Users\admin\Documents\GitHub\DgdatToXlsx\convert.php on line 92

и что этим делать как поправить чтобы хотябы работа скрипта прошла без ошибок
--------------------
Сборник рабочего кода Процедур и Функций DelPhi     http://validcoderepo.narod.ru/
PM MAIL WWW   Вверх
_zorn_
Дата 8.11.2016, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Это сообщение значит что функции ReadLong нет в области видимости.
Кажись я понял в чем проблема
https://github.com/mbry/DgdatToXlsx/commit/...908393d57eb15a1
Цитата
replace old <? to <?php  13 hours ago 

А у вас был выключен open_short_tag
Т.е. common.php вообще не считался пхп файлом.
Вобщем обновитесь (git pull) и должно заработать
PM MAIL   Вверх
Pcrepair
Дата 8.11.2016, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



был выключен open_short_tag
включил - результат тот же
заменил <? на <?php    результат тот же - ошибка в 92 строке

может есть еще идеи?
--------------------
Сборник рабочего кода Процедур и Функций DelPhi     http://validcoderepo.narod.ru/
PM MAIL WWW   Вверх
_zorn_
Дата 8.11.2016, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Цитата(Pcrepair @  8.11.2016,  20:16 Найти цитируемый пост)
может есть еще идеи? 

Я их уже целый вагон выдал (жалко не заметили).
А вообще в этом проекте черех композер только common.php и подключается. Не понятно зачем стрелять ядерными боеголовками по мухам...
Замени 
Цитата

require_once('vendor/autoload.php');

на
Цитата

require_once(__DIR__. '/common/common.php');

в convert.php

Добавлено через 9 минут и 14 секунд
И я надеюсь ты все же сделал git pull ?
PM MAIL   Вверх
Pcrepair
Дата 8.11.2016, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Я бы сделал "И я надеюсь ты все же сделал git pull ? ", если бы знал что это такое и с чем его идят.
тут только про компоузер апдейт немного понял

ну вот вставил require_once(__DIR__. '/common/common.php');
результат тот же саймый - ошибка

так что такое git pull? точнее как конкретно могут называться repoName branchName в данном случае и чем это закончится? в исходном проекте вроде ничего нового?

git pull  mbry/DgdatToXlsx C:\Users\admin\Documents\GitHub\DgdatToXlsx\

так чтоле?
--------------------
Сборник рабочего кода Процедур и Функций DelPhi     http://validcoderepo.narod.ru/
PM MAIL WWW   Вверх
Pcrepair
Дата 9.11.2016, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



ну вот.
просто надо было делать по люникс а не под ВЫНь
--------------------
Сборник рабочего кода Процедур и Функций DelPhi     http://validcoderepo.narod.ru/
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1444 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.