Auteur Topic: PHP versie bepalen bij uitvoeren taak in taakplanner  (gelezen 1734 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: 90
  • 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: 90
  • 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


 

versie verkenner cloud station server

Gestart door jerfyBoard File Station

Reacties: 1
Gelezen: 1369
Laatste bericht 10 januari 2018, 13:51:53
door Birdy
SABnzb 'kon de pakketservice niet uitvoeren'

Gestart door OBennianBoard SABnzbd (usenet)

Reacties: 11
Gelezen: 6235
Laatste bericht 06 april 2016, 22:37:48
door OBennian
Probleem Sabnzbd met Python versie

Gestart door RATBoard SABnzbd (usenet)

Reacties: 9
Gelezen: 3128
Laatste bericht 21 februari 2015, 22:36:38
door gertjan1963
Timed interval uitvoeren

Gestart door r.platenkampBoard Algemeen

Reacties: 3
Gelezen: 4065
Laatste bericht 12 maart 2010, 21:18:24
door wizjos
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