Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/06/2020, à 19:42

SkaalZealot

Création de fichier via script PHP

Bonjour,

Je viens de me mettre a lubuntu 20.04 j'ai configuré apache2 etc... jusque la c'est parfait.

J'ai mon petit script qui écris dans un fichier PHP dans un dossier précis pour l'installation de la base de donnée.

Je ne met ici que la partie qui plante !

$config = [];
            $config[] = '<?php ';
            $config[] = 'define(\'DBHOST\', \'' . $dbhost . '\');';
            $config[] = 'define(\'DBNAME\', \'' . $dbname . '\');';
            $config[] = 'define(\'DBUSER\', \'' . $dbuser . '\');';
            $config[] = 'define(\'DBPSWD\', \'' . $dbpswd . '\');';
            
            
            if(file_exists('lib/config.php')){
                
                file_put_contents('lib/config.php', implode("\r\n",$config) , LOCK_EX);
                
            }else{
                
                die('ce fichier est introuvable');
                
            }

J'ai un soucis car je tombe sur mon erreur fichier introuvable l'installation de la bdd ne ce poursuit donc pas, ça fonctionne bien sous windows et sur un serveur distant mais pas ici.

J'ai pas trouver sur le web de truc claire qui peut me répondre c'est pas un soucis avec php mais de droit d'écriture.

Avez vous une solution pour que se script fonctionne ?

merci cordialement.

Hors ligne

#2 Le 12/06/2020, à 20:41

Vobul

Re : Création de fichier via script PHP

Il faut que le serveur web aie les droits d'écriture sur lib/.

Sinon y'a plein d'autres trucs qui vont pas mais c'est pas la question.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 13/06/2020, à 08:41

SkaalZealot

Re : Création de fichier via script PHP

Bonjour Vobul,

Comment je lui donne les droits au serveur ? puis si il y a des choses que je dois savoir avant de faire des bêtises !

Hors ligne

#4 Le 13/06/2020, à 18:04

Vobul

Re : Création de fichier via script PHP

man chown

Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#5 Le 13/06/2020, à 18:22

SkaalZealot

Re : Création de fichier via script PHP

Bonsoir,

j'ai fait cette ligne

/var/www/html/lib$ sudo chown username:www-data ./ -R

ça me dit toujours que se fichier n'existe pas

Hors ligne

#6 Le 14/06/2020, à 00:16

Vobul

Re : Création de fichier via script PHP

mets le -R entre chown et username


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#7 Le 14/06/2020, à 06:37

krodelabestiole

Re : Création de fichier via script PHP

concernant les permssions avec Apache ou un serveur web en général, voir le chapitre 10.1 Permissions.

pour ton cas précis je pense qu'il faut avant tout vérifier tes chemins.
lib/config.php correspondrait à /var/www/html/lib/config.php à condition que le script appelé dont tu n'as donné ni le nom ni l'emplacement se trouve directement dans le répertoire /var/www/html.
https://www.php.net/manual/fr/wrappers.file.php
en général pour avoir des scripts PHP plus résistants aux changements d'environnement et au refactoring on utilise des chemins absolus en déclarant la racine de notre application avec une variable globale contenant par ex. la valeur de $_SERVER['SCRIPT_FILENAME'] (appelé sur un fichier dont on est sûr de l'emplacement à la racine, comme index.php).
ça permet aussi de débugger son chemin (en l'affichant avec echo par ex.).

une fois que tu as vérifié ça et si ça ne fonctionne toujours pas, donne le retour de :

sudo namei -mo /var/www/html/lib/config.php

Hors ligne