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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача переменных в параметрах... php4 -> php5: getArrs( $nick, $act, &$bu 
:(
    Опции темы
EugenyPavlenko
  Дата 1.4.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Добрый день.

Такая проблема:
  Дома на локалке установлен пхп 4.2.х и все работает как надо

Когда отгружаю на сервер, где установлен пхп 5.2.х сразу ничего не работает...

Методом научного тыка (а по другому никак, т.к ошибки он тоже не выводит)
определил что проблема в этой строке:
getArrs( $nick, $act, &$busy_hours, &$main_arr, &$pointer_arr );


Когда ее коментирую то он хоть что-то выводит, а пока не закоментировал он не выводит даже: ??!!


Вот часть кода:
Код

                                 else if ( ( $act == "getDayInfo" ) )
        {
            echo "??";
            
            if ( ctype_digit( $nick ) )
            {
                require_once "./f/getArrays.php";
                
                $div = "day_info";
                $busy_hours = array();
                $pointer_arr = array();
                $main_arr = array();
                
                echo "!!";
                
                getArrs( $nick, $act, &$busy_hours, &$main_arr, &$pointer_arr );



я думал что ему не нравиться вот это: &$busy_hours, &$main_arr, &$pointer_arr
Я что-то читал что в пхп5 переменные там как-то по другому передаются... но я провел эксперимент
вот какой:
Код

<?php
    function abc( $mas )
    {
        $mas[] = "123";
    }
    
    $m = array();
    
    $m[]="lol";
    
    print_r( $m );
    
    echo "<br><br>";
    
    abc( &$m );
    
    print_r( $m );
?>


Этот код он отработал как надо....

Вопрос вот в чем: почему он перестает работать (ничего не выводит) в указанном выше (первый код) коде?
Т.е что такого в строке: getArrs( $nick, $act, &$busy_hours, &$main_arr, &$pointer_arr );
что из-за нее он перестает даже ошибки выводить.... ?
(там кстати используется аякс: require_once "ajax/JsHttpRequest.php";
        $JsHttpRequest =& new JsHttpRequest("windows-1251"); )

PM WWW   Вверх
mishaSL
Дата 1.4.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

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



Цитата(Dzuchara @  1.4.2008,  16:56 Найти цитируемый пост)
Методом научного тыка (а по другому никак, т.к ошибки он тоже не выводит)

Чтобы показывало в файл .htaccess добавь строку:
Код

php_flag display_errors on


Скорее всего у вас что-то вроде:
Код

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.


Описание это ошибки вы можете найти в этом разделе документации:
http://ru2.php.net/manual/ru/language.references.php

Попробуйте просто убрать ссылки из строки:
Код

getArrs( $nick, $act, $busy_hours, $main_arr, $pointer_arr );

и поставить ссылки там где объявляется функция.

Добавлено через 3 минуты и 26 секунд
А также посмотрите описание директивы "allow_call_time_pass_reference":
http://ru2.php.net/manual/ru/ini.core.php


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
EugenyPavlenko
Дата 1.4.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



mishaSL,  спасибо за помощь.

Проделал указанные операции, но ошибки все-равно не увидел... (из-за аякса такое бывает)
Параметры тоже оказались не при чем...

вся проблема была просто в том, что в ф-ции getArrs
была такая строчка:
$this->arr[] = $line;

Эта была ф-ция, а не класс и я думаю по-этому он эту строчку не принимал....
Жаль только что он мне про ошибки не пишет (про ошики в подключаемых файлах),
ато много времени потратил...

PM WWW   Вверх
mishaSL
Дата 1.4.2008, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

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



Цитата(Dzuchara @  1.4.2008,  17:57 Найти цитируемый пост)
Проделал указанные операции, но ошибки все-равно не увидел... (из-за аякса такое бывает)

Пропишите:
Код

error_reporting(E_ALL ^ E_NOTICE);

в начале скрипта.
По идее AJAX должен выдавать ошибки.

Цитата(Dzuchara @  1.4.2008,  17:57 Найти цитируемый пост)
вся проблема была просто в том, что в ф-ции getArrs
была такая строчка:
$this->arr[] = $line;


я просто предположил, т.к. это довольно частая ошибка. Сложно что-то сказать не видя ни ошибки, ни скрипта.



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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