Elxis CMS Forum

Ελληνικό Forum => Βάσεις Δεδομένων => Topic started by: giannis1277 on April 17, 2010, 18:27:57

Title: Ένδειξη σφάλματος Deprecated
Post by: giannis1277 on April 17, 2010, 18:27:57
Καλησπέρα,
παίρνω το παρακάτω σφάλμα:

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\mysite\includes\Core\loader.php on line 39

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\mysite\includes\Core\loader.php on line 62

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\mysite\includes\Core\loader.php on line 64

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\mysite\includes\Core\loader.php on line 67

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\mysite\includes\Core\filemanager.class.php on line 145

Θα μπορούσε να με βοηθήσει κάποιος;
Ευχαριστώ εκ των προτέρων

Title: Re: Ένδειξη σφάλματος Deprecated
Post by: CREATIVE Options on April 17, 2010, 18:33:07
Έκδοση από:
Elxis ?
PHP ?
DB ?

Κοίταξες τα log's ; Κοίταξες τις περιέχουν αυτές οι γραμμές του κώδικα ;

Είναι φρέσκια εγκατάσταση; ή μετά από κάτι που εγκατέστησες ; Αυτά ΠΑΝΤΑ πρέπει να μας τα λέτε όταν ζητάτε βοήθεια!
Title: Re: Ένδειξη σφάλματος Deprecated
Post by: webgift on April 17, 2010, 18:33:16
Καλησπέρα Γιάννη.
Από ότι βλέπω έχεις κάνει τοπική εγκατάσταση.
Μπορείς να μας αναφέρεις σε ποιο σημείο εμφανίζονται τα σφάλματα αυτά;
Ποια η διαδικασία που κάνεις δηλαδή.
Title: Re: Ένδειξη σφάλματος Deprecated
Post by: datahell on April 17, 2010, 18:55:12
Άνοιξε τον loader (includes/Core/loader.php) και αφαίρεσε το "&" μπροστά από το "new" όπου το δεις (είναι σε 4-5 σημεία)

Παράδειγμα
από:
$elxis_language =& new ElxisLang();
σε:
$elxis_language = new ElxisLang();

Ομοίως στο includes/Core/filemanager.php στη γραμμή 145
Title: Re: Ένδειξη σφάλματος Deprecated
Post by: giannis1277 on April 17, 2010, 18:56:17
Πρώτον ευχαριστώ για την άμεση ανταπόκριση.

Στο θέμα μας τώρα. Η εγκατάσταση είναι τοπική (όπως φαίνεται από τις διαδρομές) και οι εκδόσεις είναι elxis 2009.1 Hecate, php 5.3.0, MySQL 5.1.36 (συμπεριλαμβάνονται στον Wampserver 2.0i).

Apache 2.2.11 log:
[Sat Apr 17 18:16:07 2010] [error] [client 127.0.0.1] PHP Deprecated:  Assigning the return value of new by reference is deprecated in C:\\wamp\\www\\mysite\\includes\\Core\\loader.php on line 67, referer: http://localhost/mysite/administrator/index2.php

Mysql log:
100417 18:11:40 [Note] Plugin 'FEDERATED' is disabled.
100417 18:11:41  InnoDB: Started; log sequence number 0 55990
100417 18:11:41 [Note] Event Scheduler: Loaded 0 events
100417 18:11:41 [Note] wampmysqld: ready for connections.
Version: '5.1.36-community-log'  socket: ''  port: 3306  MySQL Community Server (GPL)

php log:
[14-Apr-2010 00:46:44] PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.1.6/ext/php_sqlite.dll' - The specified module could not be found.
 in Unknown on line 0

Τα παραπάνω σφάλματα εμφανίστηκαν όταν εγκατέστησα παλιαότερες εκδόσεις (Apache 2.0.52, php5.1.6, php5.2.3, mysql5.0.45) για να κάνω κάποιες δοκιμές, αλλά συνεχίζουν να υφίστανται ακόμα και μετά την επαναφορά στις νεότερες εκδόσεις.

Τα σφάλματα εμφανίζονται αμέσως μόλις πάω να ανοίξω την ιστοσελίδα, δηλ. μόλις γράψω localhost/mysite, και συνεχίζουν να φαίνονται από όλες τις υποσελίδες και το διαχειριστικό του elxis.
Title: Re: Ένδειξη σφάλματος Deprecated
Post by: CREATIVE Options on April 17, 2010, 19:39:44
Πράξε αυτά που ανέφερε ο datahell και ενημέρωσε μας.
Title: Re: Ένδειξη σφάλματος Deprecated
Post by: datahell on April 17, 2010, 19:47:48
Εναλλακτική λύση:
επεξεργασία στο php.ini και στο σημείο που λέει error_reporting αφαίρεσε το "~ E_DEPRECATED"
Title: Re: Ένδειξη σφάλματος Deprecated
Post by: giannis1277 on April 17, 2010, 20:05:16
Όλα εντάξει αφαιρώντας το "&" μπροστά από το "new"
Τοπικά έχω εγκαταστήσει 5-6 διαφορετικές ιστοσελίδες, όλες σε elxis 2009.1 στις οποίες παίρνω το ίδιο σφάλμα. Αυτό οφείλεται στην εγκατάσταση προηγούμενων εκδόσεων php και mysql ή/και σε κάτι άλλο (ρωτάω για να μην την ξαναπατήσω);

Ευχαριστώ και πάλι για την άμεση ανταπόκριση
Title: Re: Ένδειξη σφάλματος Deprecated
Post by: datahell on April 17, 2010, 20:16:04
Επειδή, αν θέλουμε να μπούμε στην ουσία του θέματος, η συζήτηση είναι πολύ μεγάλη όσον αφορά το deprecated, την php 5.3 και την μελλοντική php 6.0 θα πω μόνο, επιγραμματικά, ότι -αν και δεν είναι λάθος- φταίει το Elxis. Μας είχε ξεφύγει αυτό το σημείο όταν φτιάξαμε την συμβατότητα με PHP 5.3. Στο Elxis 2009.2 έχει διορθωθεί αυτό. Βέβαια αν δεν εμφανίζετε deprecated σφάλματα, συνιστάτε για έναν online ιστότοπο, τότε όλα είναι μία χαρά.