Support » Plugin: WP Maintenance » getimagesize: failed to open stream

  • Resolved Klemart3D

    (@klemart3d)


    Bonjour Florent,

    Voici une erreur que j’obtiens sur une installation toute fraiche de la dernière version de WordPress :
    Warning: getimagesize(/monsite.fr/wp-cms//wp-content/plugins/wp-maintenance/images/default.png): failed to open stream: No such file or directory in /monsite.fr/wp-content/plugins/wp-maintenance/classes/wp-maintenance.php on line 749

    Alerte faisant références aux lignes :

      $image_path = str_replace(get_bloginfo('url'), ABSPATH, $paramMMode['image']);
      list($logoWidth, $logoHeight, $logoType, $logoAttr) = getimagesize($image_path);

    Dans mon installation, les fichiers du cœur de WordPress sont dans un dossier nommé wp-cms tandis que le contenu reste dans wp-content comme cela est possible depuis la version 2.6 de WordPress (sortie en 2008), qui permet de déplacer le dossier “wp-content”.

    Aussi depuis cette version il est déconseillé d’utiliser des constantes telles que ABSPATH dans les plugins, au profit de fonctions dédiées telles que plugins_url(), plugin_dir_path() ou plugin_basename() et/ou l’utilisation des constantes magiques de PHP telles que __FILE__ ou __DIR__.

    Vous serait-il possible d’améliorer votre plugin afin de le rendre compatible avec des installations personnalisées de WordPress et d’éliminer ce type d’erreurs ? Merci par avance 😉

    MacOS Sierra 10.12.6
    MAMP 4.2.1
    PHP 5.6.30
    Apache 2.2.32
    WP-CLI 1.3.0
    WordPress 4.8.2
    WP Maintenance 3.0.6

    • This topic was modified 1 year, 10 months ago by  Klemart3D.
Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Florent Maillefaud

    (@florent73)

    Bonjour,

    Merci de votre retour.

    Je vois que vous utilisez l’image par défaut de l’extension. Avez-vous déplacé votre dossier wp-content/ après avoir installé WP Maintenance ? Ce qui pourrait justifié que dans un premier temps il est aller chercher wp-content/

    Aussi, ABSPATH est bien utilisé dans les extensions pour vérifier que l’on appelle bien notre page depuis le site :
    defined( 'ABSPATH' ) or die( 'Not allowed' );

    Cordialement

    Bonjour Florent,

    Effectivement ABSPATH est utilisé pour vérifier si l’accès au fichier est bien faite par WordPress mais pas comme constante d’accès à un fichier d’un plugin.

    Par exemple, dans ma config j’ai : define( 'ABSPATH', dirname( __FILE__ ) . '/wp-cms/' ); pour indiquer que mon chemin d’accès à WordPress est “monsite.fr/wp-cms/” or le fichier image du thème est dans “monsite.fr/wp-content/” et non dans “monsite.fr/wp-cms//wp-content/” comme essaye d’accéder votre fonction définie dans $image_path.

    NB : j’ai bien installé wp-maintenance après avoir modifié la structure de mes fichiers.

    • This reply was modified 1 year, 10 months ago by  Klemart3D.
    • This reply was modified 1 year, 10 months ago by  Klemart3D.
    • This reply was modified 1 year, 10 months ago by  Klemart3D.
    • This reply was modified 1 year, 10 months ago by  Klemart3D.
    Plugin Author Florent Maillefaud

    (@florent73)

    Bonjour,

    Je viens de retirer la fonction getimagesize() afin d’éviter ces erreurs.

    Cordialement

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘getimagesize: failed to open stream’ is closed to new replies.