Synology-Forum.nl

Packages => 3rd party Packages => Spotweb => Topic gestart door: Erwin1 op 15 juni 2018, 17:03:09

Titel: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Erwin1 op 15 juni 2018, 17:03:09
Hallo,

Nu spotweb (eindelijk) geïnstalleerd is krijg ik bij het retrieve een PHP-foutmelding, om precies te zijn:

PHP Fatal error:  Undefined class constant 'MYSQL_ATTR_FOUND_ROWS' in /volume1/web/spotweb/lib/dbeng/dbeng_pdo_mysql.php on line 28

Fatal error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS' in /volume1/web/spotweb/lib/dbeng/dbeng_pdo_mysql.php on line 28

Ik heb even op het forum gezocht, maar de oplossingen in dit topic kunnen mij niet verder helpen: https://www.synology-forum.nl/spotweb/fatal-error-undefined-class-constant-'mysql_attr_found_rows'/
ook het draaien van het script php upgrade-db.php in de spotweb directory, bied geen uitkomst het script bestaat namelijk helemaal niet...

Wie kan me helpen?
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 16 juni 2018, 18:14:06
Ik zat er al op te wachten toen ik ergens las dat je spotweb aan het installeren was.
Dat komt door een bug in webstation, die zet de php extensie settings niet door naar de php cli omgeving.
Gaarne rapporteren aan synology !
Een oplossing (handmatig) is in dit topic beschreven :
https://www.synology-forum.nl/spotweb/fatal-error-undefined-class-constant-'mysql_attr_found_rows'/msg243996/#msg243996

@Birdy : kunnen we dit eens toevoegen aan de spotweb installatie handleiding ? Ik wil wel een beschrijving maken ...
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Erwin1 op 16 juni 2018, 18:58:45
Sorry maar ik kan niet helemaal volgen wat de handmatige oplossing is?
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 16 juni 2018, 19:05:51
@Birdy : kunnen we dit eens toevoegen aan de spotweb installatie handleiding ? Ik wil wel een beschrijving maken ...
Ik begrijp dat dit een workaround is?
Stuur mij maar even een PB met waar het er tussen moet en wat.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Erwin1 op 16 juni 2018, 19:07:39
Sorry even verder gezocht, en toen is het kwartje gevallen.
In de directory /usr/local/etc/php56/conf.d mistte een bestandje "webstation-extensions.ini"

Handmatig dit bestandje aangemaakt met de inhoud
extension = bcmath.so
extension = bz2.so
extension = curl.so
extension = gd.so
extension = gettext.so
extension = openssl.so
extension = pdo_mysql.so
extension = zip.so

Vervolgens de juiste rechten gegeven (chmod 775), en nu werkt het retrieve als normaal.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 16 juni 2018, 19:08:16
Ik zal het hier even plaatsen dan kan wellicht Erwin er mee vooruit.
En je zult nog wel aanvullingen hebben neem ik aan.
Eerst eens mijn nas vm opstarten en eens kijken hoe ik het opgelost heb  :)
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 16 juni 2018, 20:42:42
Ik kon het even niet reproduceren, maar dat kwam omdat phpMyadmin geïnstalleerd was.
Enfin, ik denk dat het beter is om een aparte spotweb.ini in
/usr/local/etc/php56/conf.den/of
/usr/local/etc/php70/conf.dte plaatsen.
Dat kan door :
cat >/usr/local/etc/php56/conf.d/spotweb.ini en/of cat >/usr/local/etc/php70/conf.d/spotweb.inigevolgd door
extension = bcmath.so
extension = bz2.so
extension = curl.so
extension = gd.so
extension = gettext.so
extension = openssl.so
extension = pdo_mysql.so
extension = zip.so
en dan ctrl+c

@Birdy : zou je dat in de spotweb handleiding kunnen plaatsen ?
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 17 juni 2018, 17:25:50
@mesa57 Ik heb je bijdrage toegevoegd in de handleiding.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 17 juni 2018, 17:38:55
@Birdy : Thanks. Hoop dat nu minder mensen last hebben van die bug.
Titel: Spotweb binnenhalen mislukt? (mysql)
Bericht door: cooltennis op 21 juli 2018, 01:00:54
Ik ben bezig met spotweb binnenhalen:

Krijg dit melding, is er iets fout?

Zie afbeelding bijlage:
Titel: Re: Spotweb binnenhalen mislukt? (mysql)
Bericht door: mesa57 op 21 juli 2018, 11:03:49
Even zoeken op dit forum help vaak wel eens  ;)

https://www.synology-forum.nl/spotweb/error-undefined-class-constant-'mysql_attr_found_rows'/
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: cooltennis op 21 juli 2018, 11:25:44
Ik heb hem geprobeerd:
Krijg dit zie mijn afbeelding. Doe ik het wel goed?

Ik kon het even niet reproduceren, maar dat kwam omdat phpMyadmin geïnstalleerd was.
Enfin, ik denk dat het beter is om een aparte spotweb.ini in
/usr/local/etc/php56/conf.den/of
/usr/local/etc/php70/conf.dte plaatsen.
Dat kan door :
cat >/usr/local/etc/php56/conf.d/spotweb.ini en/of cat >/usr/local/etc/php70/conf.d/spotweb.inigevolgd door
extension = bcmath.so
extension = bz2.so
extension = curl.so
extension = gd.so
extension = gettext.so
extension = openssl.so
extension = pdo_mysql.so
extension = zip.so
en dan ctrl+c

@Birdy : zou je dat in de spotweb handleiding kunnen plaatsen ?
Titel: Re: Spotweb binnenhalen mislukt? (mysql)
Bericht door: cooltennis op 21 juli 2018, 11:26:26
Bedankt, heb inmiddels daar een vraag gesteld.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Erwin1 op 21 juli 2018, 12:07:10
Herstart webstation en PHP eens
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: cooltennis op 21 juli 2018, 12:21:31
Zal wanneer ik weer thuis ben en tijd heb even naar kijken.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 21 juli 2018, 12:40:47
Na het cat command nog een keer een enter geven. Hij zegt dat hij de folder niet kan vinden.
Titel: Re: Spotweb binnenhalen mislukt? (mysql)
Bericht door: Birdy op 21 juli 2018, 13:09:23
Bedankt, heb inmiddels daar een vraag gesteld.
Dus je Topic samengevoegd met dit Topic
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 21 juli 2018, 14:12:34
Dus, voor de beeldvorming:

[attachimg=1]
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: cooltennis op 21 juli 2018, 23:58:53
Hoe eigenlijk herstarten? Hele synology opnieuw starten bedoel je?

Want ik keek bij geïnstalleerde webstation daar geen optie over herstarten?


Herstart webstation en PHP eens
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 22 juli 2018, 10:34:43
Dat is ook niet nodig.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: cooltennis op 22 juli 2018, 23:59:56
Nu krijg ik dit:

root@ajvsweb:~# retriever.php is already running, pass '--force' to ignore this warning.
-ash: retriever.php: command not found

Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 23 juli 2018, 09:21:05
Als retriever.php al running is, hoef je hem niet overnieuw te starten.
Wil je dat wel dan de optie --force er achter zetten.
Wat is het volledige commando wat je uitvoert ?
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: cooltennis op 23 juli 2018, 12:44:53
Ja! Als goed is laad hij weer!

(zie bijlage)
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: cooltennis op 23 juli 2018, 12:55:32
Nee krijg dit zie bijlage.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 23 juli 2018, 13:42:35
Bijlage is niet te zien. En misschien kun je beter een apart topic hiervoor openen, want je oorspronkelijke fout is opgelost.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 23 juli 2018, 14:03:44
En prinscreens gewoon toevoegen in je topic dus, niet als bijlage die je eerst moet downloaden ;)

[attach=1]
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: cooltennis op 23 juli 2018, 14:26:10
Oh daar is die uitvinding,  had niet goed gelezen of wel kon ! ;-)

en bezig nieuw topic aanmaken wie daar verder kan helpen als deze niet hierths hoort. (de nieuwe probleem)
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 23 juli 2018, 14:44:44
Nieuw Topic: https://www.synology-forum.nl/spotweb/bezig-spotweb-binnenhalen-mysql-retrieve-php/msg253314/#msg253314
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: noppes123 op 02 november 2018, 12:56:38
Ondanks aanmaken van ini-file met de benodigde php modules blijft retrieve.php de foutmelding waar dit topic mee gestart is geven. NAS ook al gereboot en alle webstation settings conform handleiding hier (https://www.synology-forum.nl/spotweb/nieuw-(02-04-2017)-spotweb-installatie-tutorial/). Spotweb website werkt (is alleen 'leeg'), maar retrieve.php dus niet. Ik gebruik overigens PHP 5.6.

Kan het iets te maken hebben met de twee MariaDB versies (5 en 10) die draaien op de NAS? MariaDB 10 wordt gebruikt voor Kodi devices en de spotweb installer wilde persé versie 5. MariaDB 10 luistert overigens op port 3307 en MariaDB 5 op 3306 (de standaard MySQL port). In MariaDB 5 staat wel de spotweb database (gecontroleerd met mysql command in shell).

Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 02 november 2018, 14:28:33
Plaats de spotweb.conf die je gemaakt hebt eens hier.
En waar heb je die exact neergezet ?
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: noppes123 op 02 november 2018, 14:43:55
De php ini - neem aan dat je die bedoelde ;) :

(http://i68.tinypic.com/351spzr.jpg)

EDIT: Het valt mij wel op dat de ini file (/usr/local/etc/php56/php.ini) naar een extension directory verwijst (/usr/local/lib/php56/modules) die leeg is...

EDIT2: OPGELOST: het blijkt dat er twee PHP 5.6 versies aanwezig zijn. php ./retrieve.php gebruikt php 5.6.11 en /usr/local/bin/php56 ./retrieve.php gebruikt php 5.6.36. En daarmee werkt retrieve.php wel.  8)
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 02 november 2018, 16:34:43
Ik snap waarom die er nog steeds is. Geeft alleen maar problemen.
Wil je spotweb met php 7.0 gebruiken dan moet je bestandje ook even kopieeren naar /usr/local/etc/php70/conf.d/
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Ben(V) op 02 november 2018, 17:01:46
Nu heb ik geen enkel verstand van php maar wel van Synology en package structuren.
Maar volgens mij zou een package helemaal geen gebruik mogen maken van /usr/local/etc/php56 want dat is de systeem partitie die vol kan lopen.

En packages worden geinstalleerd op een volume in de @appstore en er zou dus in dit geval gebruik gemaakt moeten worden van:
/var/packages/PHP5.6/target/etc
Hierbij is /var/packages/PHP5.6/target een simlink naar /volume1/@appstore/PHP5.6
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 02 november 2018, 17:23:12
Tja, als ik opvraag waar php zijn ini vandaan haalt dan krijg ik :

admin@nas3:/var/packages/PHP5.6/target/etc/php/conf.d$ php56 --ini
Configuration File (php.ini) Path: /usr/local/etc/php56
Loaded Configuration File:         /usr/local/etc/php56/php.ini
Scan for additional .ini files in: /usr/local/etc/php56/conf.d
Additional .ini files parsed:      /usr/local/etc/php56/conf.d/webstation-extensions.ini
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: noppes123 op 02 november 2018, 21:23:39
Ik snap waarom die er nog steeds is. Geeft alleen maar problemen.
Inderdaad, in /usr/bin/php (en de symlinked /bin directory) staat dus nog versie 5.6.11. Misschien handig om die php files door een symlink naar php56 te vervangen?

Nu heb ik geen enkel verstand van php maar wel van Synology en package structuren.
Maar volgens mij zou een package helemaal geen gebruik mogen maken van /usr/local/etc/php56 want dat is de systeem partitie die vol kan lopen.

En packages worden geinstalleerd op een volume in de @appstore en er zou dus in dit geval gebruik gemaakt moeten worden van:
/var/packages/PHP5.6/target/etc
Hierbij is /var/packages/PHP5.6/target een simlink naar /volume1/@appstore/PHP5.6
De ini files staan in /usr/local/etc/php56, maar de executable /usr/local/bin/php56 symlinked naar /var/packages/PHP5.6/target/usr/local/bin/php56. Geen idee of dat 'gebruikelijk' is...

Tja, als ik opvraag waar php zijn ini vandaan haalt dan krijg ik :

admin@nas3:/var/packages/PHP5.6/target/etc/php/conf.d$ php56 --ini
Configuration File (php.ini) Path: /usr/local/etc/php56
Loaded Configuration File:         /usr/local/etc/php56/php.ini
Scan for additional .ini files in: /usr/local/etc/php56/conf.d
Additional .ini files parsed:      /usr/local/etc/php56/conf.d/webstation-extensions.ini

In mijn configuratie:
# php56 --ini
Configuration File (php.ini) Path: /usr/local/etc/php56
Loaded Configuration File:         /usr/local/etc/php56/php.ini
Scan for additional .ini files in: /usr/local/etc/php56/conf.d
Additional .ini files parsed:      /usr/local/etc/php56/conf.d/spotweb.ini,
/usr/local/etc/php56/conf.d/webstation-extensions.ini
maar
# php --ini
Configuration File (php.ini) Path: /etc/php
Loaded Configuration File:         /etc/php/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
...vandaar dat de modules niet geladen werden met php...
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: eureka op 03 maart 2019, 13:16:52
ik heb de oplossing van mesa geprobeerd maar krijg permission denied wanneer ik het cat> commando wil uitvoeren. Ben gewoon ingelogged als admin. Wat doe ik verkeerd?
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 03 maart 2019, 13:26:20
Je moet dan root zijn dus, als je ingelogd bent als admin dan geef je het commando sudo -i en password van admin.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: eureka op 03 maart 2019, 19:16:30
Ok, ik moet berichten posten zonder code aangezien CleanTalk mijn berichten tegenhoud.

ben een stapje verder met oplossen van spotweb probleem. heb de .ini aangemaakt en opnieuw het retrieve commando gedraaid

ik krijg een reactie van terminal dat hij spotweb draaid. maar daarna zegt hij spotweb crashed, failed to read from socket.

ook in spotweb zie ik nog steeds last retrieve op unknown staan


lijkt dus alsnog iets verkeerd te gaan?

edit: ik kan niet initieel posten met code maar wel aanpassen.



 heb de .ini aangemaakt en opnieuw onderstaande commando gedraaid:

/usr/local/bin/php56 /volume1/web/spotweb/retrieve.php
reactie van de terminal was:
Removing Spot information which is beyond retention period,, done
Last retrieve at Thu 01 Jan 1970 01:00:00 AM CET
Retrieving new Spots from server ssl.xxxx.xxx...
SpotWeb v0.68.29.32 on PHP v5.6.39 crashed

Fatal error occured while connecting to the newsserver:
  (-1) Failed to read from socket...! [response: ""] [response: ""]


#0 /volume1/web/spotweb/lib/services/Nntp/Services_Nntp_Engine.php(120): Services_Nntp_Engine->connect()
#1 /volume1/web/spotweb/lib/services/Retriever/Services_Retriever_Base.php(112): Services_Nntp_Engine->selectGroup('free.pt')
#2 /volume1/web/spotweb/lib/services/Retriever/Services_Retriever_Base.php(280): Services_Retriever_Base->connect(Array)
#3 /volume1/web/spotweb/retrieve.php(145): Services_Retriever_Base->perform()
#4 {main}

Finished retrieving spots.

ook in spotweb zie ik nog steeds last retrieve op unknown staan
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 03 maart 2019, 19:27:42
De output die ik kreeg met een PB :

Removing Spot information which is beyond retention period,, done
Last retrieve at Thu 01 Jan 1970 01:00:00 AM CET
Retrieving new Spots from server ssl.xxxx.xxx...
SpotWeb v0.68.29.32 on PHP v5.6.39 crashed
Fatal error occured while connecting to the newsserver:
  (-1) Failed to read from socket...! [response: ""] [response: ""]
#0 /volume1/web/spotweb/lib/services/Nntp/Services_Nntp_Engine.php(120): Services_Nntp_Engine->connect()
#1 /volume1/web/spotweb/lib/services/Retriever/Services_Retriever_Base.php(112): Services_Nntp_Engine->selectGroup('free.pt')
#2 /volume1/web/spotweb/lib/services/Retriever/Services_Retriever_Base.php(280): Services_Retriever_Base->connect(Array)
#3 /volume1/web/spotweb/retrieve.php(145): Services_Retriever_Base->perform()
#4 {main}
Finished retrieving spots.

(Ik krijg geen CleanTalk issue)
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: mesa57 op 03 maart 2019, 21:12:53
Zet SSL uit, dan gaat het beter.
Er zijn usenet providers waarvan de CN name in het SSL certificaat niet overeenkomt met de domeinnaam.
Default checked php ssl stream daarop.
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: eureka op 04 maart 2019, 20:36:18
thx! that did the trick!

heb hem nu in ieder geval de eerste keer aan de praat gekregen. nu kijken of hij ook de taakplanner wil uitvoeren :-)
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Cookiesmonster op 04 januari 2020, 18:38:02
Ik mag in die directory geen bestand plaatsen.
Wat heb jij extra gedaan?
Titel: Re: Error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS'
Bericht door: Birdy op 04 januari 2020, 18:56:14
Weet niet welke directory maar, je zal wel root moeten zijn.