Author Topic: Sähköpostilaskun lähetys ei onnistu (MLInvoice 1.16.1, PHP 5.4.45)  (Read 416 times)

kotsku

  • Tulokas
  • *
  • Posts: 3
Hei!

Olisiko tiedossa ongelmaa MLInvoice 1.16.1 ja PHP 5.4:n välillä.

MLInvoice päivitetty versiosta 1.11.1

Sähköpostilaskun lähetys tökkää valkoiseen sivuun ja jättää Error Logiin seuraavan virheen:
PHP Fatal error:  Can't use function return value in write context in /home/asiakkaat/d/domain.com/public_html/laskutus/invoice_printer_email_trait.php on line 50, referer: http://domain.com/laskutus/index.php?func=open_invoices&list=invoice&form=invoice&listid=resultlist_unpaid_invoices&id=511

Kokeiltu myös sähköpostikuitti, sähköpostilasku (eng.) ja sähköpostitilausvahvistus.

Lisäksi kokeiltu vaihtaa invoice_printer_email_trait.php -tiedostoa.
- Kokeillut versiot GitHubista päivämäärillä 25.7.2018 sekä uusin (02.04.2020)

Kaikilla törmää samaan ongelmaan.

ps. Kiitos loistavasta softasta..

Terveisin tyytyväinen käyttäjä vuodesta 2012!

ele

  • Tulokas
  • *
  • Posts: 37
Onko sulla joku erityinen syy käyttää kohta 5 vuotta vanhaa PHP-versiota? Uudemmilla toimii ihan ok, eli helpoin ratkaisu olisi päivitys? Tältä pohjalta syytä voisi lähteä etsimään: https://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php/12770530#12770530 .

Edit: Sori, asennusohjeen mukaan ton 1.16.1 pitäisi vielä tukea PHP 5.4:ää, mutta näköjään ei tue. Päivitys edelleen helpoin ratkaisu jos vain suinkin mahdollista.
« Last Edit: 04.04.20 - klo:07:08 by ele »

kotsku

  • Tulokas
  • *
  • Posts: 3
Tällä hetkellä käytössä oleva webhotelli tukee vain PHP 5.4:ää.

Webhotelli pitäisi päivittää ja siihen asennetut softat pitäisi siirtää uudelle palvelimelle, mutta aikatauluongelmien vuoksi homma etenee hitaasti.

ele

  • Tulokas
  • *
  • Posts: 37
Sitten vaan vanhempia versioita kokeilemaan. Eiköhän joku väliltä 1.11.1 - 1.16.1 toimi: https://github.com/emaijala/MLInvoice/releases .

Ere Maijala

  • Ylläpitäjä
  • *****
  • Posts: 910
Bugihan siinä, rakenne ei toimi PHP 5.4:lla. Suosittelisin ensisijaisesti vaatimaan webhotellilta ryhtiliikettä, PHP 5.4 on niin vanha, että hirvittää. Ongelman saattaa saada korjattua vaihtamalla ko. tiedostosta rivin 50, joka siis näyttää tällaiselta (tuon siis pitäisi toimia, mutta en ole testannut):

Code: [Select]
                if (!empty(trim($contact['contact_person']))) {

Tähän muotoon:

Code: [Select]
                $contactPerson = trim($contact['contact_person']);
                if (!empty($contactPerson)) {

kotsku

  • Tulokas
  • *
  • Posts: 3
Moi!

Loistavaa! Ongelma korjaantui muuttamalla rivin 50 koodi...

Webhotellipalvelun tarjoajalta saisi uudemman palvelimen / webhotellipalvelun käyttöön, kunhan ehtisi siirtää kaikki palvelimella toimivat ohjelmistot uudelle alustalle.
Käytössä oleva palvelin poistuu käytöstä heti kun kaikki webhotellit on siirretty uudemmille.

Ja palveluntarjoajaa ei viitsi syyttää asiasta kuin ei palvelustakaan maksa kun domainit.  :)

Bugihan siinä, rakenne ei toimi PHP 5.4:lla. Suosittelisin ensisijaisesti vaatimaan webhotellilta ryhtiliikettä, PHP 5.4 on niin vanha, että hirvittää. Ongelman saattaa saada korjattua vaihtamalla ko. tiedostosta rivin 50, joka siis näyttää tällaiselta (tuon siis pitäisi toimia, mutta en ole testannut):

Code: [Select]
                if (!empty(trim($contact['contact_person']))) {

Tähän muotoon:

Code: [Select]
                $contactPerson = trim($contact['contact_person']);
                if (!empty($contactPerson)) {