problem mit PEAR bei php4 -> php5

  • Ich hab jetzt mal im xampp auf php5 umgeschaltet und werde mit folgenden Problemen bei PEAR konfrontiert:

    Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /xxx/PEAR.php on line 252

    [2048] Assigning the return value of new by reference is deprecated
    file: /xxx/DB.php -> line: 470

    Gibt es eine Version von PEAR, die php5 kompatibel ist, oder muss man das alles per Hand umstellen? Irgendwo hab ich was mit error reporting gefunden, aber mit

    Code
    if (version_compare(phpversion(), "5.0.0") == -1)
        error_reporting(E_ALL);
    else
        error_reporting(E_ALL | E_STRICT);


    komm ich auch zu keinem besseren Ergebnis. Hat jemand Erfahrungen mit PEAR und php5?

    Thanx.

    P.S.: Kann es wirklich sein, dass das die einzig wahre Möglichkeit ist?!

    P.P.S: Hab jetzt noch weiter gesucht ... und folgere daraus, dass es nur auf die richtigen Einstellungen des error reportings ankommt ... welches Level muss man aber optimalerweise wählen? Ideen?

    Zitat von http://www.sitepoint.com/blog-post-view.php?id=234249


    he switch from PHP4 to PHP5 required changing a total of 8 lines of code in some of the core components, plus adding a new compatibility function that detects the PHP version and will define a clone() function in case the server still runs PHP4 - so until we start using the exception handling, which is planned for the next versions, we can even switch between PHP4 and 5 seamlessly.

    Really, it ain't such a big deal.

    Here's a list of some of the PEAR packages we're using, if they're on your list as well, you know those can be safely used with PHP5 (unless in E_STRICT):

    - DB (with MySQL and MSSQL drivers) - DB_DataObject (if you use the old $obj->__clone() method to copy objects, you'll need to change this to use PHP5's new clone() function, and provide a user-defined one when running PHP4, in case you need that backwards-compatibility. This is *not much work* - trust me :-)) - DB_DataObject_FormBuilder - HTML_Template_Sigma - Payment_DTA - Spreadsheet_Excel_Writer - Cache_Lite - Date - HTML_QuickForm - HTML_TreeMenu - Image_Transform - LiveUser - Mail && Mail_Mime - Services_ExchangeRates - Validate

    *** Make it idiot proof, and someone will build a better idiot. ***

  • habe alles zum Laufen gebracht. Man darf mit dem error_reporting in der php.ini nicht höher als auf E_ALL gehen. Außerdem muss man aufpassen, wenn man set_error_handler verwendet, dass man den zweiten Parameter übergibt und dieser auch nicht höher als E_ALL ist. Das war nämlich bei mir ein Hacken. ;)

    *** Make it idiot proof, and someone will build a better idiot. ***

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!