Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   есть ли альтернатива amfphp (http://www.flasher.ru/forum/showthread.php?t=134516)

buket 02.01.2010 21:07

есть ли альтернатива amfphp
 
сообственно интересуют альтернавы, так как amfphp не работает с версией php 5.3

alatar 02.01.2010 23:27

Zend Framework

wvxvw 03.01.2010 03:04

На самом деле, это не правда, и amfphp работает с 5.3 - просто дистрибутив нужно качать не с оф. сайта (которой давно заброшен), а из репозитори на sourceforge:
http://sourceforge.net/projects/amfphp/
AMFPHP был долгое время бесхозным, т.как его основатель решил оставить проект, а человек, которому этот проект достался "в наследство" решил инкорпорировать его в Zend фреймворк. Мое мнение - Zend добавляет кучу ненужных вещей + просто работает хуже... Смысл его использования пожалуй заключается только в том, что многие хостеры зачастую вместе с инсталяцией PHP так же располагают установленной ZF. Но, на этом все удобства и заканчиваются.
Еще, на сколько я знаю, в CakePHP есть какая-то своя реализация AMF, но я ее не пробовал - ничего сказать не могу по этому поводу.

buket 03.01.2010 11:56

Цитата:

Сообщение от wvxvw (Сообщение 876614)
На самом деле, это не правда, и amfphp работает с 5.3 - просто дистрибутив нужно качать не с оф. сайта (которой давно заброшен), а из репозитори на sourceforge:
http://sourceforge.net/projects/amfphp/
AMFPHP был долгое время бесхозным, т.как его основатель решил оставить проект, а человек, которому этот проект достался "в наследство" решил инкорпорировать его в Zend фреймворк. Мое мнение - Zend добавляет кучу ненужных вещей + просто работает хуже... Смысл его использования пожалуй заключается только в том, что многие хостеры зачастую вместе с инсталяцией PHP так же располагают установленной ZF. Но, на этом все удобства и заканчиваются.
Еще, на сколько я знаю, в CakePHP есть какая-то своя реализация AMF, но я ее не пробовал - ничего сказать не могу по этому поводу.

странно я отуда качал amfphp-1.9.beta.20080120.zip но он не хочет работать, по ошибке нагугли что функция eregi_replace не поддерживается в php 5.3

wvxvw 03.01.2010 16:12

Не знаю, как вы так его скачали :)
https://amfphp.svn.sourceforge.net/svnroot/amfphp
вот прямая ссылка и там нет eregi_replace()

buket 03.01.2010 17:44

вот к примеру ошибка на локалхосте
Код:

Function eregi_replace() is deprecated
C:\xampp\htdocs\amfphp\core\shared\util\MethodTable.php on line 505

а вот из этоо файла функция на которую ошибка ссылается
PHP код:

function cleanComment($comment){
        
$comment = str_replace("/**", "", $comment);
        
$comment = str_replace("*/", "", $comment);
        
$comment = str_replace("*", "", $comment);
        
$comment = str_replace("\r", "", trim($comment));
        
$comment = eregi_replace("\n[ \t]+", "\n", trim($comment));
        
$comment = str_replace("\n", "\\n", trim($comment));
        
$comment = eregi_replace("[\t ]+", " ", trim($comment));
        
        
$comment = str_replace("\"", "\\\"", $comment);
        return 
$comment;
    } 


wvxvw 04.01.2010 02:09

Еще раз: вы не туда смотрите / не то качаете:
https://amfphp.svn.sourceforge.net/s...ethodTable.php
Вот это указаный вами файл и в нем нету eregi_replace()

buket 04.01.2010 12:11

спасибо теперь работает н локалхосте, а вот на хостингах отказывается работать, пробовал на 2х разных моих хостингах они выдают
Код:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@cekpeta.kyzbass.net.ru and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at cekpeta.net.ru Port 80


wvxvw 04.01.2010 12:46

Ну не знаю... а вы точно уверены, что скачали то, что находится в репозитори? Потому что я с таким поведением не сталкивался... В конце концов в getaway.php добавьте error_reporting(E_ALL | E_STRICT); и посмотрите, что вам сервер в таком случает скажет, если ошибка не в PHP, то как бы вы там уже ничем не поможете...

buket 04.01.2010 14:33

мда решил еще проблему, как появилось новая выдает
Код:

Error retrieving service info:

Invalid AMF message
 
 
 
Fatal error: Uncaught exception 'VerboseException' with message 'Cannot modify header information - headers already sent by (output started at /home/kyzbass/public_html/CEKPETA/services/amftest/getnews.php:2)' in /home/kyzbass/public_html/CEKPETA/core/amf/app/Gateway.php:191
Stack trace:
#0 /home/kyzbass/public_html/CEKPETA/core/amf/app/Gateway.php(191): amfErrorHandler(2, 'Cannot modify h...', '/home/kyzbass/p...', 191, Array)
#1 /home/kyzbass/public_html/CEKPETA/gateway.php(154): Gateway->service('Content-type: a...')
#2 {main}
  thrown in /home/kyzbass/public_html/CEKPETA/core/amf/app/Gateway.php on line 191

ладно это не сто важно, подскажите в чем может быть проблема есть у меня класс
PHP код:

class SForum {
    var 
$SFname = "SForum";
    var 
$ptitle;
    var 
$react;              // number of answers in a thread
    
var $pansw;
    var 
$title;

    
// SForum: constructor, connecting to DB
    
function SForum() {
        
$this->ptitle = NULL;
        
$this->pansw = 0;
        
$this->title = "<TITLE>$this->SFname</TITLE>";
        print(
$this->title);
        include_once(
"config.php");  // DB Config Data
        
$pol = mysql_connect($dbhost,$dbuname,$dbpass) or die ("Couldn't connect to server.<br>\n");
        
$db = mysql_select_db($dbname,$pol) or die ("Couldn't connect to database.<br>\n");
    }

    
// Show_frm: displays the form
    
function Show_frm($ptitle=NULL) {
        if(!empty(
$ptitle)) {
            
$this->ptitle = "Re: ".$ptitle;
        }
        
$zawartosc = "\n\n<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=\"post\" NAME=\"frm\">\n"
        
. "<TABLE><TR>\n"
        
. "<TD>Title:</TD><TD><INPUT TYPE=\"text\" NAME=\"frm_ptitle\" VALUE=\"$this->ptitle\" SIZE=\"65\"></TD>\n"
        
. "</TR><TR>\n"
        
. "<TD>Text:</TD><TD><TEXTAREA NAME=\"frm_text\" cols=\"50\" rows=\"10\"></TEXTAREA></TD>\n"
        
. "</TR><TR>\n"
        
. "<TD>Name or nick:</TD><TD><INPUT TYPE=\"text\" NAME=\"frm_name\" VALUE=\"\" SIZE=\"25\"></TD>\n"
        
. "</TR><TR>\n"
        
. "<TD>e-mail:</TD><TD><INPUT TYPE=\"text\" NAME=\"frm_mail\" VALUE=\"\" SIZE=\"25\"></TD>\n"
        
. "</TR><TR>\n"
        
. "<TD COLLSPAN=\"2\"><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Post\"></TD>\n"
        
. "</tr></TABLE>\n"
        
. "<INPUT TYPE=\"hidden\" NAME=\"frm_ip\" VALUE=\"".$_SERVER['REMOTE_ADDR']."\">\n"
        
. "<INPUT TYPE=\"hidden\" NAME=\"frm_wid\" VALUE=\"".$this->pansw."\">\n"
        
. "</FORM>\n\n";
        print(
$zawartosc);
    }

    
// Show_SFname : Show SForum name as text
    
function Show_SFname() {
        print(
"<H1>$this->SFname</H1>\n");
    }

    
// Add_new_post: Adds new record to DB
    
function Add_new_post($ptitle,$text,$mail,$ip,$name,$frm_wid) {
        if(
$ptitle=="" or $text==""){
            return;
        }
        
$this->ptitle = addslashes(htmlspecialchars(trim($ptitle)));
        
$this->text = addslashes(htmlspecialchars(trim($text)));

        if (
$frm_wid == 0) {
            
$zapytanie = "INSERT INTO SForum (wid,for_ptitle,for_text,for_mail,for_data,for_dataw,for_ip,for_name) VALUES('$frm_wid', '$this->ptitle', '$this->text', '$mail', now(), now(), '$ip', '$name')";
            
$sql = mysql_query($zapytanie) or die (mysql_error());
        } else {
            
$zapytanie = "INSERT INTO SForum (wid,for_ptitle,for_text,for_mail,for_data,for_ip,for_name) VALUES('$frm_wid', '$this->ptitle', '$this->text', '$mail', now(), '$ip', '$name')";
            
$sql = mysql_query($zapytanie) or die (mysql_error());
        }
        
$id = mysql_insert_id();
        if (
$frm_wid == 0) {
            
$zapytanie = "UPDATE SForum SET wid='$id' WHERE id='$id'";
            
#print $zapytanie;
            
$sql = mysql_query($zapytanie) or die (mysql_error());
        } else {
            
$zapytanie = "UPDATE SForum SET for_dataw=now() WHERE id='$frm_wid'";
            
#print $zapytanie;
            
$sql = mysql_query($zapytanie) or die (mysql_error());
        }

    }

    
// Show_SForum: Displays the main message of threads
    
function Show_SForum() {
        
$sql = 'SELECT * FROM SForum WHERE id=wid ORDER BY for_dataw DESC';
        
#print $sql."<br>\n";
        
$sql = mysql_query($sql) or die (mysql_error());
        
$iledokumentow = mysql_affected_rows();
        if (
$iledokumentow > 0) {
            print(
"<TABLE BORDER=\"1\" WIDTH=\"90%\">\n");
            while (
$row = mysql_fetch_array($sql)) {
                
$sql1 = "SELECT COUNT(wid)-1 AS num FROM SForum WHERE wid=".$row['id']." GROUP BY wid";
                
#print $sql1."<br>\n";
                
$sql1 = mysql_query($sql1) or die (mysql_error());
                
$row1 = mysql_fetch_array($sql1);
                
//number of reactions
                
$this->react=$row1['num'];
                if (
$row['for_name'] == "") {
                    
$row['for_name'] = "Guest";
                }
                
$this->ptitle = stripslashes($row['for_ptitle']);
                print(
"<tr><TD><A HREF=\"".$_SERVER['PHP_SELF']."?wid=".$row['id']."\">".$this->ptitle."</A></TD><TD ALIGN=\"center\">reactions:&nbsp;".$this->react."</TD><TD ALIGN=\"center\"  WIDTH=\"20%\">".$row['for_name']."</TD><TD ALIGN=\"center\"  WIDTH=\"20%\">".$row['for_dataw']."</TD></tr>\n\n");
            }
            unset(
$this->react);
            print(
"</TABLE>\n");
        } else {
            print(
"No threads<br>\n");
        }
        
$this->ptitle = ""; //the new thread's title is empty
    
}

    
// Show_SForum_Threads: Displays all messages of a thread
    
function Show_SForum_Threads($wid) {
        
//$this->pansw = $wid;
        
$zapytanie = "SELECT * FROM SForum WHERE wid='$wid' ORDER BY for_data ASC";
        
//print $zapytanie;
        
$sql = mysql_query($zapytanie) or die (mysql_error());
        
$iledokumentow = mysql_affected_rows();
        if (
$iledokumentow > 0) {
            print(
"<TABLE BORDER=\"1\" WIDTH=\"90%\">\n");
            while (
$row = mysql_fetch_array($sql)) {
                
$this->ptitle = stripslashes($row['for_ptitle']);
                
$this->text = nl2br(stripslashes($row['for_text']));
                if (
$row['for_name'] == "") {
                    
$row['for_name'] = "Goњж";
                }
                if (
$row['for_mail'] !== "") {
                    
$pmail = "<A HREF=\"mailto:".$row['for_mail']."\">";
                    
$kmail = "</a>";
                } else {
                    
$pmail = NULL;
                    
$kmail = NULL;
                }
                print(
"<tr><TD><b>".$this->ptitle."</b><br><div ALIGN=\"right\"><i><U>$pmail".$row['for_name']."$kmail</u> <FONT SIZE=\"1\">".$row['for_data']."</FONT></i></DIV>\n\n");
                print(
"<hr>".$this->text."<br><br></TD></tr>\n\n");
            }
            print(
"</TABLE>\n");
        } else {
            print(
"No threads<br>\n");
        }
        
$zapytanie = "SELECT * FROM SForum WHERE id='$wid' LIMIT 0,1";
        
$sql = mysql_query($zapytanie) or die (mysql_error());
        
$row = mysql_fetch_array($sql);
        
$this->ptitle = stripslashes($row['for_ptitle']);  //Re title for form
    
}

    
// Main_page: Show back-to-main link
    
function Main_page() {
        print(
"<A HREF=\"".$_SERVER['PHP_SELF']."\">Go to Main Page</A>\n");
    }
}

if (!isset(
$forum)) {
    
$forum = new SForum;
}

?> 

amfphp выдает оибку
Код:

(Object)#0
  message = "faultCode:AMFPHP_BUILD_ERROR faultString:'mysql_connect(): Access denied for user 'ODBC'@'localhost' (using password: NO)' faultDetail:'C:\xampp\htdocs\amfphp\services/HelloWorld/SForum.php on line Undetermined line  in constructor'"
  name = "Error"
  rootCause = (null)

в config.php(база таблица в mysql создана)
PHP код:

<?php
/*
* Config file for SForum
*/

$dbhost  = 'localhost';       // DB Host
$dbuname = 'root';       // DB Username
$dbpass  = '';       // DB Password
$dbname  = 'baza';       // DB Name

?>



Часовой пояс GMT +4, время: 16:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.