Plus d'infos, logs
En regardant sur ma version 1.2.9 ou le plugin facturation fonctionne
bien (sur un autre serveur en prod),
je constate que le lien devrait être
https://yunohost.test/garradin/admin/config/plugins.php
Voici ce qui arrive si je vais sur ce lien:
Une erreur s'est produite
KD2\DB\DB_Exception
no such column: nom
in .../include/lib/KD2/DB/*SQLite3.php*:/834/
|*830* $return = $this->db->prepare($statement); *831* } *832* catch
(\Exception $e) { *833* if ($this->db->lastErrorCode()) { _*834* throw
new DB_Exception($this->db->lastErrorMsg(), $this->db->lastErrorCode(),
$e);_ *835* } *836* *837* throw $e; *838* } |
in .../include/lib/KD2/DB/*DB.php*:/534/
→ KD2\DB\SQLite3->prepare /(1 arg.)/
$statement
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*530* $key = md5($query . implode(',', array_keys($args))); *531* *532*
// Use statements cache! *533* if (!array_key_exists($key,
$this->statements)) { _*534* $this->statements[$key] =
$this->prepare($query);_ *535* } *536* *537* return
$this->execute($this->statements[$key], ...$args); *538* } |
in .../include/lib/KD2/DB/*SQLite3.php*:/541/
→ KD2\DB\DB->preparedQuery /(1 arg.)/
$query
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*537* * on a statement. This could cause double writing. *538* */ *539*
public function preparedQuery(string $query, ...$args) *540* { _*541*
return parent::preparedQuery($query, ...$args);_ *542* } *543* *544*
public function execute($statement, ...$args) *545* { |
in .../include/lib/KD2/DB/*SQLite3.php*:/697/
→ KD2\DB\SQLite3->preparedQuery /(1 arg.)/
$query
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*693* } *694* *695* public function getGrouped(string $statement,
...$args): array *696* { _*697* $res = $this->preparedQuery($statement,
...$args);_ *698* $out = []; *699* *700* while ($row =
$res->fetchArray(\SQLITE3_ASSOC)) *701* { |
in .../include/lib/Garradin/*Plugin.php*:/365/
→ KD2\DB\SQLite3->getGrouped /(1 arg.)/
$statement
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*361* */ *362* static public function listInstalled() *363* { *364* $db
= DB::getInstance(); _*365* $plugins = $db->getGrouped('SELECT id, *
FROM plugins ORDER BY nom;');_ *366* *367* foreach ($plugins as &$row)
*368* { *369* $row->disabled = !self::getPath($row->id); |
in .../include/lib/Garradin/*Plugin.php*:/496/
→ Garradin\Plugin::listInstalled /(0 arg.)/
|*492* * @return array Liste des plugins téléchargés *493* */ *494*
static public function listDownloaded() *495* { _*496* $installed =
self::listInstalled();_ *497* *498* $list = []; *499* $dir =
dir(PLUGINS_ROOT); *500* |
in .../www/admin/config/*plugins.php*:/57/
→ Garradin\Plugin::listDownloaded /(0 arg.)/
|*53* $tpl->assign('delete', true); *54*} *55*else *56*{ _*57*
$tpl->assign('liste_telecharges', Plugin::listDownloaded());_ *58*
$tpl->assign('liste_installes', Plugin::listInstalled()); *59*} *60*
*61*$tpl->assign('garradin_website', WEBSITE); |
Exception
Unable to prepare statement: 1, no such column: nom
in .../include/lib/KD2/DB/*SQLite3.php*:/830/
|*826* call_user_func($this->callback, __FUNCTION__, 'before', $this,
... func_get_args()); *827* } *828* *829* try { _*830* $return =
$this->db->prepare($statement);_ *831* } *832* catch (\Exception $e) {
*833* if ($this->db->lastErrorCode()) { *834* throw new
DB_Exception($this->db->lastErrorMsg(), $this->db->lastErrorCode(), $e); |
in .../include/lib/KD2/DB/*SQLite3.php*:/830/
→ SQLite3->prepare /(1 arg.)/
$query
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*826* call_user_func($this->callback, __FUNCTION__, 'before', $this,
... func_get_args()); *827* } *828* *829* try { _*830* $return =
$this->db->prepare($statement);_ *831* } *832* catch (\Exception $e) {
*833* if ($this->db->lastErrorCode()) { *834* throw new
DB_Exception($this->db->lastErrorMsg(), $this->db->lastErrorCode(), $e); |
in .../include/lib/KD2/DB/*DB.php*:/534/
→ KD2\DB\SQLite3->prepare /(1 arg.)/
$statement
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*530* $key = md5($query . implode(',', array_keys($args))); *531* *532*
// Use statements cache! *533* if (!array_key_exists($key,
$this->statements)) { _*534* $this->statements[$key] =
$this->prepare($query);_ *535* } *536* *537* return
$this->execute($this->statements[$key], ...$args); *538* } |
in .../include/lib/KD2/DB/*SQLite3.php*:/541/
→ KD2\DB\DB->preparedQuery /(1 arg.)/
$query
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*537* * on a statement. This could cause double writing. *538* */ *539*
public function preparedQuery(string $query, ...$args) *540* { _*541*
return parent::preparedQuery($query, ...$args);_ *542* } *543* *544*
public function execute($statement, ...$args) *545* { |
in .../include/lib/KD2/DB/*SQLite3.php*:/697/
→ KD2\DB\SQLite3->preparedQuery /(1 arg.)/
$query
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*693* } *694* *695* public function getGrouped(string $statement,
...$args): array *696* { _*697* $res = $this->preparedQuery($statement,
...$args);_ *698* $out = []; *699* *700* while ($row =
$res->fetchArray(\SQLITE3_ASSOC)) *701* { |
in .../include/lib/Garradin/*Plugin.php*:/365/
→ KD2\DB\SQLite3->getGrouped /(1 arg.)/
$statement
string(39) "SELECT id, * FROM plugins ORDER BY nom;"
|*361* */ *362* static public function listInstalled() *363* { *364* $db
= DB::getInstance(); _*365* $plugins = $db->getGrouped('SELECT id, *
FROM plugins ORDER BY nom;');_ *366* *367* foreach ($plugins as &$row)
*368* { *369* $row->disabled = !self::getPath($row->id); |
in .../include/lib/Garradin/*Plugin.php*:/496/
→ Garradin\Plugin::listInstalled /(0 arg.)/
|*492* * @return array Liste des plugins téléchargés *493* */ *494*
static public function listDownloaded() *495* { _*496* $installed =
self::listInstalled();_ *497* *498* $list = []; *499* $dir =
dir(PLUGINS_ROOT); *500* |
in .../www/admin/config/*plugins.php*:/57/
→ Garradin\Plugin::listDownloaded /(0 arg.)/
|*53* $tpl->assign('delete', true); *54*} *55*else *56*{ _*57*
$tpl->assign('liste_telecharges', Plugin::listDownloaded());_ *58*
$tpl->assign('liste_installes', Plugin::listInstalled()); *59*} *60*
*61*$tpl->assign('garradin_website', WEBSITE); |
Context
date 2023-07-19T15:38:27+00:00
duration 18.884181976318
environment development
hostname yunohost.packaging
http_files array(0) { }
http_method GET
http_post array(0) { }
http_user_agent Mozilla/5.0 (X11; Linux x86_64; rv:102.0)
Gecko/20100101 Firefox/102.0
id 1owofz8x
language PHP 8.2.8
memory_peak 2097152
memory_used 2097152
os Linux
paheko_data_root /var/www/paheko/data
paheko_version 1.3.0-rc1
php_sapi fpm-fcgi
remote_ip 192.168.1.103
root_directory /var/www/paheko
server_addr 192.168.1.105
user_addr 192.168.1.103
url https://yunohost.packaging/garradin/admin/config/plugins.php
Le 19/07/2023 à 17:26, Rodolphe Robles a écrit :
>
> Bonjour,
>
> je maintiens le paquet Yunohost pour Paheko.
>
> Avec la mise à jour vers paheko 1.3.0 j'ai ce message d'erreur sur la
> page des extensions.
>
>
> Erreur
>
> facturation: Le fichier admin/index.php n'existe pas alors que la
> directive "menu" est activée.
>
>
> J'ai réinstallé un plugin facturation qui n'était plus là avec la
> version compatible avec php8.2
>
https://gitlab.com/noizette/garradin-plugin-facturation/-/archive/v0.7.4/garradin-plugin-facturation-v0.7.4.tar.gz
>
>
> car de plus j'ai mis des dépendances php8.2 pour cette mise à jour...
>
> Comment supprimer le plugin facturation sinon en cli pour réparer ??
> ou est-ce une erreur nginx de redirection ??
>
> j'arrive sur ce lien en local
> https://yunohost.test/garradin/admin/config/ext/
>
> --
> Librement,
> Rodolphe
> Ce message est fièrement envoyé grâce à un système d'exploitation
> GNU/Linux <https://www.gnu.org/home.fr.html> 100% libre !
> Apprenons à chiffrer nos messages !
<https://emailselfdefense.fsf.org/fr/>
bonjour,
dans le contexte, après avoir eu l'erreur en question en mettant à jour
avec la version 1.3.0, puis en upgradant ensuite avec la 1.3.0v2, le
problème est toujours là.
je vais refaire un test en mettant à jour de version 1.29 à la 1.3.0v2
directement.
Le 21/07/2023 à 11:08, BohwaZ/Paheko a écrit :
>> Un essai avec la RC2 ne semble pas avoir débloqué le soucis...
>>
>> je dois peut-être attendre que le plugin soit mis à jour et ouvrir
>> une issue sur son dépôt ??
> Quel est le problème exactement ?
>
> Avant : le plugin empêchait l'affichage de la page des extensions
> Maintenant (RC2) : la liste des extensions s'affiche (normalement)
>
> Dans tous les cas, le plugin n'est pas compatible avec la 1.3 donc il
> ne pourra pas marcher tant qu'il n'est pas ré-écrit, ça je n'y
peux
> rien moi :)
>
Re,
Oui, dans ce sens là ça fonctionne, merci beaucoup !
bonne journée
rodinux
capture d'écran extensions
Le 21/07/2023 à 19:11, Rodolphe Robles a écrit :
>
> bonjour,
>
> dans le contexte, après avoir eu l'erreur en question en mettant à
> jour avec la version 1.3.0, puis en upgradant ensuite avec la 1.3.0v2,
> le problème est toujours là.
>
> je vais refaire un test en mettant à jour de version 1.29 à la 1.3.0v2
> directement.
>
> Le 21/07/2023 à 11:08, BohwaZ/Paheko a écrit :
>>> Un essai avec la RC2 ne semble pas avoir débloqué le soucis...
>>>
>>> je dois peut-être attendre que le plugin soit mis à jour et ouvrir
>>> une issue sur son dépôt ??
>> Quel est le problème exactement ?
>>
>> Avant : le plugin empêchait l'affichage de la page des extensions
>> Maintenant (RC2) : la liste des extensions s'affiche (normalement)
>>
>> Dans tous les cas, le plugin n'est pas compatible avec la 1.3 donc il
>> ne pourra pas marcher tant qu'il n'est pas ré-écrit, ça je
n'y peux
>> rien moi :)
>>