Auteur Topic: PHP versie bepalen bij uitvoeren taak in taakplanner  (gelezen 1736 keer)

Dit onderwerp bevat een als beste antwoord gemarkeerd bericht. Klik hier om er direct naartoe te gaan.

Offline allanyip

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 6
PHP versie bepalen bij uitvoeren taak in taakplanner
« Gepost op: 10 augustus 2020, 11:51:12 »
Beste,

Ik wil een taak instellen in de taakplanner waarmee ik een php script oproep. Dit script maakt verbinding met een database middels de mysqli_connect() functie. Echter, als ik deze taak uitvoer, dan krijg ik een mail van de taakplanner terug dat deze is uitgevoerd, maar wel met de volgende foutmelding:

Huidige status: 255 (Onderbroken)
Standaard uitvoer/fout:
PHP Fatal error:  Call to undefined function mysqli_connect() in /volume1/web/werk/nextcreatives/crm/includes/sql_connect.php on line 20

Ik vermoed dat de taakplanner een php versie gebruikt die mysqli_connect() niet kent. Vreemd, want als ik dit script uitvoer in de browser, via Web Station, dan kent hij deze functie wel gewoon. (PHP versie van Web Station is: 5.6.11. Hier ben ik achter gekomen door php -v in te typen in de cli.)

Iemand die mij hier verder mee kan helpen?

Alvast bedankt!

Allan
  • Mijn Synology: DS215j
  • HDD's: WD20EARS-00MVWB0

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #1 Gepost op: 10 augustus 2020, 13:54:01 »
Niet teveel vermoeden, gissen en veronderstellen.

Wat is de code op regel 20?

  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline allanyip

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 6
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #2 Gepost op: 10 augustus 2020, 13:57:57 »
Hier begint het mee:
$connect['host'] = "localhost";
$connect['username'] = "root";
$connect['password'] = "test";
$connect['database'] = "crm";
En dan op regel 20:
$connection = mysqli_connect($connect['host'], $connect['username'], $connect['password'])
   
  • Mijn Synology: DS215j
  • HDD's: WD20EARS-00MVWB0

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #3 Gepost op: 10 augustus 2020, 14:03:55 »
Zet op regel 20 ook de databasenaam erbij.

Voor de volledigheid.
MariaDB5 gebruikt localhost
MariaDB10 gebruikt 127.0.0.1:3307

Probeer dit eens :

<?php
// MariaDB5
$link mysqli_connect("localhost""my_user""my_password""my_db");
// MariaDB10
$link mysqli_connect("127.0.0.1:3307""my_user""my_password""my_db");

if (!
$link) {
    echo 
"Error: Unable to connect to MySQL." PHP_EOL;
    echo 
"Debugging errno: " mysqli_connect_errno() . PHP_EOL;
    echo 
"Debugging error: " mysqli_connect_error() . PHP_EOL;
    exit;
}

echo 
"Success: A proper connection to MySQL was made! The my_db database is great.<br />" PHP_EOL;
echo 
"Host information: " mysqli_get_host_info($link) . PHP_EOL;

mysqli_close($link);
?>
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline allanyip

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 6
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #4 Gepost op: 10 augustus 2020, 14:13:55 »
Bovenstaande toegevoegd in mijn code, ik krijg geen foutmelding in de mail die ik terugkrijg van de taakplanner:

Huidige status: 255 (Onderbroken)
Standaard uitvoer/fout:
PHP Fatal error:  Call to undefined function mysqli_connect() in /volume1/web/werk/nextcreatives/crm/includes/sql_connect.php on line 20

Fatal error: Call to undefined function mysqli_connect() in /volume1/web/werk/nextcreatives/crm/includes/sql_connect.php on line 20


En ook niet als ik mijn applicatie in de browser open. Het lijkt dus niet aan de credentials te liggen.
  • Mijn Synology: DS215j
  • HDD's: WD20EARS-00MVWB0

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #5 Gepost op: 10 augustus 2020, 14:45:07 »
In DSM, open Web Station.
Klik PHP Settings.
Bewerk een PHP profiel
Kijk bij extenties of mysqli is aangevinkt.

Als ik die extensie uitzet, krijg ik de genoemde foutmelding.
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline allanyip

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 6
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #6 Gepost op: 10 augustus 2020, 15:45:51 »
Ik zie daar twee PHP versies, 5.6 en 7.0, waarvan ik weet dat 5.6 nu actief is. En daar stond mysqli al aangevinkt. Ik heb het voor de volledigheid ook maar even ingesteld in versie 7.0, daarna ook weer voor de zekerheid de webserver opnieuw gestart maar nog steeds zonder succes. Er is niks veranderd lijkt, want ik krijg nog steeds dezelfde foutmelding helaas.
  • Mijn Synology: DS215j
  • HDD's: WD20EARS-00MVWB0

Gemarkeerd als beste antwoord door allanyip Gepost op 12 augustus 2020, 00:28:25

Offline bartmans99

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 19
  • -Ontvangen: 91
  • Berichten: 737
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #7 Gepost op: 11 augustus 2020, 09:20:29 »
Geef je een pad op bij het aanroepen van PHP?

Je kunt proberen om /usr/local/bin/php56 of /usr/local/bin/php73 te gebruiken.

Welke MariaDB gebruik je?

Offline allanyip

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 6
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #8 Gepost op: 12 augustus 2020, 00:30:15 »
Dag bartmans99,

Het is gelukt! Ik gebruikte eerder het commando php invoice_mails.php en dan heb ik omgevormd naar /usr/local/bin/php56 invoice_mails.php en nu werkt het.

Was trouwens MariaDB5.

Allemaal bedankt voor jullie hulp!
  • Mijn Synology: DS215j
  • HDD's: WD20EARS-00MVWB0

Offline bartmans99

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 19
  • -Ontvangen: 91
  • Berichten: 737
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #9 Gepost op: 12 augustus 2020, 08:42:31 »
Mooi.

php verwijst naar /bin/php, een versie die de NAS 'zelf' gebruikt.

de /usr/local/bin versies zijn de geinstalleerde PHP packages voor de gebruikers, die je via Webstation kunt instellen.

Offline allanyip

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 6
Re: PHP versie bepalen bij uitvoeren taak in taakplanner
« Reactie #10 Gepost op: 13 augustus 2020, 10:09:00 »
Kijk da's nou nuttige informatie, hartstikke fijn om te weten! En ik maar altijd de standaard php gebruiken hehe :-)

Nogmaals bedankt voor je hulp!
  • Mijn Synology: DS215j
  • HDD's: WD20EARS-00MVWB0


 

Kon de pakketservice niet uitvoeren

Gestart door mhoendervangersBoard Audio Station

Reacties: 3
Gelezen: 3465
Laatste bericht 19 augustus 2014, 22:48:01
door z0merg@st
Automatische taak voor Spotweb

Gestart door RonnyBoard Spotweb

Reacties: 2
Gelezen: 1330
Laatste bericht 29 juni 2019, 15:51:22
door mesa57
Probleem Sabnzbd met Python versie

Gestart door RATBoard SABnzbd (usenet)

Reacties: 9
Gelezen: 3128
Laatste bericht 21 februari 2015, 22:36:38
door gertjan1963
versie verkenner cloud station server

Gestart door jerfyBoard File Station

Reacties: 1
Gelezen: 1369
Laatste bericht 10 januari 2018, 13:51:53
door Birdy
VERPLAATST: photo station 6 kan de pakket service niet uitvoeren

Gestart door BirdyBoard Synology DSM 6.0

Reacties: 0
Gelezen: 1091
Laatste bericht 09 januari 2017, 22:10:27
door Birdy