[RESOLU] Problème avec la fonction require_once(), Wordpress et 1&1

Stephix
Invité n'ayant pas de compte PHPfrance

29 avr. 2013, 16:11

Bonjour,

j'utilise un framework Wordpress, celui-ci fonctionne parfaitement en local, mais lorsque je met mon thème en ligne, pas moyen de le faire fonctionné, la fonction require_once() ne me donne apparemment pas le bon chemin :

voici mon code :
<?php
	require_once (ABSPATH . 'wp-content/themes/framework/theme.php');
	
	$theme = new Theme(array(
		'menus' => array(
			'nav' => 'Navigations'
		),
		'images' => array(
			'portfolio' => array(
				array('tlarge',725,456,true),
				array('tmedium',450,450,true),
				array('tsmall',350,350,true)
			)
		),
		'types' => array('Portfolio')
	));
?>
voici l'erreur :

Code : Tout sélectionner

Warning: require_once(/homepages/14/d382053943/htdocs/wp-content/themes/framework/theme.php) [function.require-once]: failed to open stream: No such file or directory in /homepages/14/d382053943/htdocs/wp-content/themes/wp-stephix-theme/functions.php on line 2 Fatal error: require_once() [function.require]: Failed opening required '/homepages/14/d382053943/htdocs/wp-content/themes/framework/theme.php' (include_path='.:/usr/lib/php5') in /homepages/14/d382053943/htdocs/wp-content/themes/wp-stephix-theme/functions.php on line 2
Pour information je suis chez l'hébergeur 1&1

Je ne voie pas comment résoudre mon problème, tout se que je sais c'est que la fonction n'a pas l'air de renvoyer le bon chemin, Avez-vous une solution?

Merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 avr. 2013, 21:47

Salut,

Est ce que le chemin est bon ? (Tu le vois dans les messages d'erreur)

La constante ABSPATH c'est toi qui la fixe ?

As tu vérifier les droits sur le fichier (644 devrait le faire) ?


@+
Il en faut peu pour être heureux ......

Stephix
Invité n'ayant pas de compte PHPfrance

30 avr. 2013, 03:40

salut,

apparemment le chemin n'est pas bon.

voici celui que me donne le ftp :

Code : Tout sélectionner

/wp-content/themes/wp-stephix-theme/framework/theme.php
On dirait que la constant ABSPATH n'affiche rien.

pour info :
"ABSPATH refers to the directory in which WP is installed. TEMPLATEPATH refers to the current theme directory, or the parent theme directory if you're currently using a child theme. Both are WP constants, so are not available in PHP outside WP."
As tu vérifier les droits sur le fichier (644 devrait le faire) ?
comment vérifie t-on cela?

cdlt

Stephix
Invité n'ayant pas de compte PHPfrance

30 avr. 2013, 03:58

J'ai refait mon require :
require TEMPLATEPATH."/framework/theme.php";
nouveau message d'erreur :( :

Code : Tout sélectionner

Warning: require(/homepages/14/d382053943/htdocs/wp-content/themes/wp-stephix-theme/types/Portfolio.php) [function.require]: failed to open stream: No such file or directory in /homepages/14/d382053943/htdocs/wp-content/themes/wp-stephix-theme/framework/theme.php on line 96 Fatal error: require() [function.require]: Failed opening required '/homepages/14/d382053943/htdocs/wp-content/themes/wp-stephix-theme/types/Portfolio.php' (include_path='.:/usr/lib/php5') in /homepages/14/d382053943/htdocs/wp-content/themes/wp-stephix-theme/framework/theme.php on line 96

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 avr. 2013, 23:20

Il existe le fichier potefolio.php. ?


Pour les droits tu peux les voir avec ton client FTP (parfois sous forme alphabétique : r, w ou x)


@.
Il en faut peu pour être heureux ......

Stephix
Invité n'ayant pas de compte PHPfrance

01 mai 2013, 02:03

Le chemin vers portfolio.php est bon.
Les droits sur le fichier sont rw-r--r--
Tout m'a l'air correct je ne comprend pas, en plus cela fonctionne en local... Je pense que je vais faire une réinstallation de Wordpress. :?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 mai 2013, 12:06

En local tu est sous windows ?
Si oui tu n'aura pas de problème de droits (ceux étant rarement gérer sur les machine perso, surtout quand utilise un administrateur ce qui n'est pas le cas sur un serveur unix correctement configuré).

Donc si php ne le trouve pas c'est que soit le fichier n'existe pas soit les droits sont pas bon soit le chemin n'est pas bon (revient au premier cas).



@+
Il en faut peu pour être heureux ......

Stephix
Invité n'ayant pas de compte PHPfrance

01 mai 2013, 13:20

Non, en local, je suis sous Mac et j'utilise MAMP.

comme je te l'ai dit tout a l'heure mes liens on l'air bon, il y a juste que je ne sais pas a quoi correspond "/homepages/14/d382053943/htdocs/".
sinon le reste colle parfaitement, voici l'arborescence pour arriver a mon fichier portefolio.php sur mon FTP :

Code : Tout sélectionner

/wp-content/themes/wp-stephix-theme/types
et l'arboressence pour theme.php :

Code : Tout sélectionner

/wp-content/themes/wp-stephix-theme/framework/theme.php
Ce dernier fait partit du framework que j'ai télécharger, je n'ai rien touché dedans, a la ligne 96 il est écrit :
require(THEME_TYPES.$v.'.php');
Les droit sur se fichier sont rw-r--r--

J'utilise Transmit comme FTP

merci pour ton aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 mai 2013, 21:02

/homepages/14/d382053943/htdocs c'est le chemin depuis la racine du système de fichier.
Tu ne le vois pas avec ton client ftp car il ne connais que la racine tu répertoire que l'on t'alloue ;)

Tu peux t'assurer du chemin de base avec un simple echo __FILE__; dans un fichier à la racine de ton site ;)


@+
Il en faut peu pour être heureux ......

Stephix
Invité n'ayant pas de compte PHPfrance

04 mai 2013, 13:09

... Erreur trouvé! il y avais une majuscule sur Portefolio.php, tout cette galère pour ca... :?

c'est étonnant que ca fonctionnait en local.

En tour cas merci a toi, Moogli, d'avoir pris du temps pour m'aider.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 mai 2013, 14:30

À voir si ton os local est case sensitive ;)


@+
Il en faut peu pour être heureux ......