Forum Programmation.php PhP sous Linuxmint 18.2 Sonya

Posté par . Licence CC by-sa.
-1
10
déc.
2017

Bonjour.

Afin de m'initier au php après mon initiation au html5 et à CSS3, j'ai entrepris de me trouver un programme capable de coder en PhP et de simuler le serveur en local, ce que je croyais que phpMyAdmin faisait…

J'ai installé (via mon Gestionnaire de logiciels) :

Apache

Mysql-server

phpMyAdmin

En tentant de lancer phpMyAdmin surprise : ça ne se passe pas comme prévu (voir le message qui m’apparaît dans Firefox en bas du sujet) *

De ce que j'en comprend :

C'est une version de démonstration, je ne peux rien faire ici, je peux télécharger d'autres versions de… démonstration ?
La version de démonstration parait finalement utilisable en ligne. (Du moins, j'ai accès à l'interface mais je n'ai pas essayé)…

D'abord, je ne comprend pas l'intérêt de cette version… L'intérêt de pouvoir travailler en local (hors connexion disparaît) (…)

Donc.
Qui peut m'aider à me "réorienter" ? (car là je bloque complet et je tourne en rond sans savoir que faire)

Que dois-je installer et/ou supprimer de ma liste ?

Via mon Gestionnaire de logiciels pas de :
PhPmySQL, ni de pack prêt à l'utilisation (avec soit disant tout ce qu'il faut et sûrement trop) comme le vanté XAMPP…

Merci pour votre aide et vos explications !


    * (attention les yeux) :

addJSON( 'list', PMA_RecentFavoriteTable::getInstance('recent')->getHtmlList() ); exit; } if ($GLOBALS['PMA_Config']->isGitRevision()) { if (isset($REQUEST['git_revision']) && $GLOBALS['is_ajax_request'] == true) { PMA_printGitRevision(); exit; } echo '
'; } // Handles some variables that may have been sent by the calling script $GLOBALS['db'] = ''; $GLOBALS['table'] = ''; $show_query = '1'; // Any message to display? if (! empty($message)) { echo PMA_Util::getMessage($message); unset($message); } $common_url_query = PMA_URL_getCommon(); $mysql_cur_user_and_host = ''; // when $server > 0, a server has been chosen so we can display // all MySQL-related information if ($server > 0) { include 'libraries/server_common.inc.php'; include 'libraries/StorageEngine.class.php'; // Use the verbose name of the server instead of the hostname // if a value is set $server_info = ''; if (! empty($cfg['Server']['verbose'])) { $server_info .= htmlspecialchars($cfg['Server']['verbose']); if ($GLOBALS['cfg']['ShowServerInfo']) { $server_info .= ' ('; } } if ($GLOBALS['cfg']['ShowServerInfo'] || empty($cfg['Server']['verbose'])) { $server_info .= $GLOBALS['dbi']->getHostInfo(); } if (! empty($cfg['Server']['verbose']) && $GLOBALS['cfg']['ShowServerInfo']) { $server_info .= ')'; } $mysql_cur_user_and_host = $GLOBALS['dbi']->fetchValue('SELECT USER();'); // should we add the port info here? $short_server_info = (!empty($GLOBALS['cfg']['Server']['verbose']) ? $GLOBALS['cfg']['Server']['verbose'] : $GLOBALS['cfg']['Server']['host']); } echo '
' . "\n"; // Anchor for favorite tables synchronization. echo PMA_RecentFavoriteTable::getInstance('favorite')->getHtmlSyncFavoriteTables(); echo '
'; if ($server > 0 || count($cfg['Servers']) > 1 ) { if ($cfg['DBG']['demo']) { echo '
'; echo '
' . _
('phpMyAdmin Demo Server') . '
'; echo '

'; printf( _( 'You are using the demo server. You can do anything here, but ' . 'please do not change root, debian-sys-maint and pma users. ' . 'More information is available at %s.' ), 'demo.phpmyadmin.net' ); echo '
'; echo '
'; } echo '
'; echo '
' . _
('General settings') . '
'; echo '

'; /** * Displays the MySQL servers choice form */ if ($cfg['ServerDefault'] == 0 || (! $cfg['NavigationDisplayServers'] && (count($cfg['Servers']) > 1 || ($server == 0 && count($cfg['Servers']) == 1))) ) { echo '
'; include_once 'libraries/select_server.lib.php'; echo PMA_Util::getImage('s_host.png') . " " . PMA_selectServer(true, true); echo '
'; } /** * Displays the mysql server related links */ if ($server > 0 && ! PMA_DRIZZLE) { include_once 'libraries/check_user_privileges.lib.php'; // Logout for advanced authentication if ($cfg['Server']['auth_type'] != 'config') { if ($cfg['ShowChgPassword']) { $conditional_class = 'ajax'; PMA_printListItem( PMA_Util::getImage('s_passwd.png') . " " . __('Change password'), 'li_change_password', 'user_password.php' . $common_url_query, null, null, 'change_password_anchor', "no_bullets", $conditional_class ); } } // end if echo '
'; echo '
' . "\n" . PMA_URL_getHiddenInputs(null, null, 4, 'collation_connection') . ' ' . "\n" . ' ' . PMA_Util::getImage('s_asci.png') . " " . __('Server connection collation') . "\n" // put the doc link in the form so that it appears on the same line . PMA_Util::showMySQLDocu('Charset-connection') . ': ' . "\n" . ' ' . "\n" . PMA_generateCharsetDropdownBox( PMA_CSDROPDOWN_COLLATION, 'collation_connection', 'select_collation_connection', $collation_connection, true, true ) . '
' . "\n" . '
' . "\n"; } // end of if ($server > 0 && !PMA_DRIZZLE) echo '
'; echo '
'; } echo '
'; echo '
' . _('Appearance settings') . '
'; echo '

'; // Displays language selection combo if (empty($cfg['Lang']) && count($GLOBALS['available_languages']) > 1) { echo '
'; include_once 'libraries/display_select_lang.lib.php'; echo PMA_Util::getImage('s_lang.png') . " " . PMA_getLanguageSelectorHtml(); echo '
'; } // ThemeManager if available if ($GLOBALS['cfg']['ThemeManager']) { echo '
'; echo PMA_Util::getImage('s_theme.png') . " " . $_SESSION['PMA_Theme_Manager']->getHtmlSelectBox(); echo '
'; } echo '
'; echo PMA_Config::getFontsizeForm(); echo '
'; echo '
'; // User preferences if ($server > 0) { echo '
```
'; PMA_printListItem( PMA_Util::getImage('b_tblops.png') . " " . _
('More settings'), 'li_user_preferences', 'prefs_manage.php' . $common_url_query, null, null, null, "no_bullets" ); echo '
'; } echo '
'; echo '
'; echo '
'; if ($server > 0 && $GLOBALS['cfg']['ShowServerInfo']) { echo '
'; echo '
' . __('Database server') . '
'; echo '

' . "\n"; PMA_printListItem( _('Server:') . ' ' . $server_info, 'li_server_info' ); PMA_printListItem( _('Server type:') . ' ' . PMA_Util::getServerType(), 'li_server_type' ); PMA_printListItem( _('Server version:') . ' ' . PMA_MYSQL_STR_VERSION . ' - ' . PMA_MYSQL_VERSION_COMMENT, 'li_server_version' ); PMA_printListItem( _('Protocol version:') . ' ' . $GLOBALS['dbi']->getProtoInfo(), 'li_mysql_proto' ); PMA_printListItem( _('User:') . ' ' . htmlspecialchars($mysql_cur_user_and_host), 'li_user_info' ); echo '
'; echo ' ' . _
('Server charset:') . ' ' . ' '; if (! PMA_DRIZZLE) { echo ' ' . $mysql_charsets_descriptions[$mysql_charset_map['utf-8']]; } echo ' (' . $mysql_charset_map['utf-8'] . ')' . ' ' . '
' . '
' . '
'; } if ($GLOBALS['cfg']['ShowServerInfo'] || $GLOBALS['cfg']['ShowPhpInfo']) { echo '
'; echo '
' . __('Web server') . '
'; echo '

'; if ($GLOBALS['cfg']['ShowServerInfo']) { PMA_printListItem($SERVER['SERVER_SOFTWARE'], 'li_web_server_software'); if ($server > 0) { $client_version_str = $GLOBALS['dbi']->getClientInfo(); if (preg_match('#\d+.\d+.\d+#', $client_version_str)) { $client_version_str = 'libmysql - ' . $client_version_str; } PMA_printListItem( _('Database client version:') . ' ' . $client_version_str, 'li_mysql_client_version' ); $php_ext_string = _('PHP extension:') . ' '; if (PMA_DatabaseInterface::checkDbExtension('mysqli')) { $extension = 'mysqli'; } else { $extension = 'mysql'; } $php_ext_string .= $extension . ' ' . PMA_Util::showPHPDocu('book.' . $extension . '.php'); PMA_printListItem( $php_ext_string, 'li_used_php_extension' ); $php_version_string = _('PHP version:') . ' ' . phpversion(); PMA_printListItem( $php_version_string, 'li_used_php_version' ); } } if ($cfg['ShowPhpInfo']) { PMA_printListItem( _('Show PHP information'), 'li_phpinfo', 'phpinfo.php' . $common_url_query, null, '_blank' ); } echo '
'; echo '
'; } echo '
'; echo '
phpMyAdmin
'; echo '

'; $class = null; // We rely on CSP to allow access to http://www.phpmyadmin.net, but IE lacks // support here and does not allow request to http once using https. if ($GLOBALS['cfg']['VersionCheck'] && (! $GLOBALS['PMA_Config']->get('is_https') || PMA_USR_BROWSER_AGENT != 'IE') ) { $class = 'jsversioncheck'; } PMA_printListItem( _
('Version information:') . ' ' . PMA_VERSION . '', 'li_pma_version', null, null, null, null, $class ); PMA_printListItem( _('Documentation'), 'li_pma_docs', PMA_Util::getDocuLink('index'), null, '_blank' ); PMA_printListItem( _('Wiki'), 'li_pma_wiki', PMA_linkURL('http://wiki.phpmyadmin.net/'), null, 'blank' ); // does not work if no target specified, don't know why PMA_printListItem( _('Official Homepage'), 'li_pma_homepage', PMA_linkURL('http://www.phpMyAdmin.net/'), null, 'blank' ); PMA_printListItem( _('Contribute'), 'li_pma_contribute', PMA_linkURL('https://www.phpmyadmin.net/contribute/'), null, 'blank' ); PMA_printListItem( _('Get support'), 'li_pma_support', PMA_linkURL('https://www.phpmyadmin.net/support/'), null, 'blank' ); PMA_printListItem( _('List of changes'), 'li_pma_changes', 'changelog.php' . PMA_URL_getCommon(), null, 'blank' ); echo '
```'; echo '
'; echo '
'; echo '
'; /** * Warning if using the default MySQL privileged account */ if ($server != 0 && $cfg['Server']['user'] == 'root' && $cfg['Server']['password'] == '' ) { trigger_error( _
( 'You are connected as \'root\' with no password, which' . ' corresponds to the default MySQL privileged account.' . ' Your MySQL server is running with this default, is open to' . ' intrusion, and you really should fix this security hole by' . ' setting a password for user \'root\'.' ), E_USER_WARNING ); } /** * As we try to handle charsets by ourself, mbstring overloads just * break it, see bug 1063821. / if (@extension_loaded('mbstring') && @ini_get('mbstring.func_overload') > 1) { trigger_error( __( 'You have enabled mbstring.func_overload in your PHP ' . 'configuration. This option is incompatible with phpMyAdmin ' . 'and might cause some data to be corrupted!' ), E_USER_WARNING ); } /* * mbstring is used for handling multibytes inside parser, so it is good * to tell user something might be broken without it, see bug #1063149. / if (! @extension_loaded('mbstring')) { trigger_error( __( 'The mbstring PHP extension was not found and you seem to be using' . ' a multibyte charset. Without the mbstring extension phpMyAdmin' . ' is unable to split strings correctly and it may result in' . ' unexpected results.' ), E_USER_WARNING ); } if ($cfg['LoginCookieValidityDisableWarning'] == false) { /* * Check whether session.gc_maxlifetime limits session validity. / $gc_time = (int)@ini_get('session.gc_maxlifetime'); if ($gc_time < $GLOBALS['cfg']['LoginCookieValidity'] ) { trigger_error( __( 'Your PHP parameter [a@http://php.net/manual/en/session.' . 'configuration.php#ini.session.gc-maxlifetime@_blank]session.' . 'gc_maxlifetime[/a] is lower than cookie validity configured ' . 'in phpMyAdmin, because of this, your login might expire sooner ' . 'than configured in phpMyAdmin.' ), E_USER_WARNING ); } } /* * Check whether LoginCookieValidity is limited by LoginCookieStore. / if ($GLOBALS['cfg']['LoginCookieStore'] != 0 && $GLOBALS['cfg']['LoginCookieStore'] < $GLOBALS['cfg']['LoginCookieValidity'] ) { trigger_error( __( 'Login cookie store is lower than cookie validity configured in ' . 'phpMyAdmin, because of this, your login will expire sooner than ' . 'configured in phpMyAdmin.' ), E_USER_WARNING ); } /* * Check if user does not have defined blowfish secret and it is being used. / if (! empty($SESSION['encryption_key']) && empty($GLOBALS['cfg']['blowfish_secret']) ) { trigger_error( _( 'The configuration file now needs a secret passphrase (blowfish_secret).' ), E_USER_WARNING ); } /* * Check for existence of config directory which should not exist in * production environment. / if (file_exists('config')) { trigger_error( _( 'Directory [code]config[/code], which is used by the setup script, ' . 'still exists in your phpMyAdmin directory. It is strongly ' . 'recommended to remove it once phpMyAdmin has been configured. ' . 'Otherwise the security of your server may be compromised by ' . 'unauthorized people downloading your configuration.' ), E_USER_WARNING ); } if ($server > 0) { $cfgRelation = PMA_getRelationsParam(); if (! $cfgRelation['allworks'] && $cfg['PmaNoRelation_DisableWarning'] == false ) { $msg_text = _( 'The phpMyAdmin configuration storage is not completely ' . 'configured, some extended features have been deactivated. ' . '%sFind out why%s. ' ); if ($cfg['ZeroConf'] == true) { $msg_text .= '
' . __( 'Or alternately go to \'Operations\' tab of any database ' . 'to set it up there.' ); } $msg = PMA_Message::notice($msg_text); $msg->addParam( '', false ); $msg->addParam('', false); /
Show error if user has configured something, notice elsewhere / if (!empty($cfg['Servers'][$server]['pmadb'])) { $msg->isError(true); } $msg->display(); } // end if } /* * Warning about different MySQL library and server version * (a difference on the third digit does not count). * If someday there is a constant that we can check about mysqlnd, * we can use it instead of strpos(). * If no default server is set, $GLOBALS['dbi'] is not defined yet. * Drizzle can speak MySQL protocol, so don't warn about version mismatch for * Drizzle servers. * We also do not warn if MariaDB is detected, as it has its own version * numbering. / if (isset($GLOBALS['dbi']) && !PMA_DRIZZLE && $cfg['ServerLibraryDifference_DisableWarning'] == false ) { /* @var PMA_String $pmaString / $pmaString = $GLOBALS['PMA_String']; $_client_info = $GLOBALS['dbi']->getClientInfo(); if ($server > 0 && /*overload/mb_strpos($client_info, 'mysqlnd') === false && /overload/mb_strpos(PMA_MYSQL_STR_VERSION, 'MariaDB') === false && substr(PMA_MYSQL_CLIENT_API, 0, 3) != substr( PMA_MYSQL_INT_VERSION, 0, 3 ) ) { trigger_error( PMA_sanitize( sprintf( _( 'Your PHP MySQL library version %s differs from your ' . 'MySQL server version %s. This may cause unpredictable ' . 'behavior.' ), $client_info, substr( PMA_MYSQL_STR_VERSION, 0, strpos(PMA_MYSQL_STR_VERSION . '-', '-') ) ) ), E_USER_NOTICE ); } unset($_client_info); } /** * Warning about Suhosin only if its simulation mode is not enabled */ if ($cfg['SuhosinDisableWarning'] == false && @ini_get('suhosin.request.max_value_length') && @ini_get('suhosin.simulation') == '0' ) { trigger_error( sprintf( _( 'Server running with Suhosin. Please refer to %sdocumentation%s ' . 'for possible issues.' ), '[doc@faq1-38]', '[/doc]' ), E_USER_WARNING ); } /** * Warning about incomplete translations. * * The data file is created while creating release by ./scripts/remove-incomplete-mo / if (file_exists('libraries/language_stats.inc.php')) { include 'libraries/language_stats.inc.php'; / * This message is intentionally not translated, because we're * handling incomplete translations here and focus on english * speaking users. / if (isset($GLOBALS['language_stats'][$lang]) && $GLOBALS['language_stats'][$lang] < $cfg['TranslationWarningThreshold'] ) { trigger_error( 'You are using an incomplete translation, please help to make it ' . 'better by [a@https://www.phpmyadmin.net/translate/' . '@_blank]contributing[/a].', E_USER_NOTICE ); } } /* * prints list item for main page * * @param string $name displayed text * @param string $listId id, used for css styles * @param string $url make item as link with $url as target * @param string $mysql_help_page display a link to MySQL's manual * @param string $target special target for $url * @param string $a_id id for the anchor, * used for jQuery to hook in functions * @param string $class class for the li element * @param string $a_class class for the anchor element * * @return void */ function PMA_printListItem($name, $listId = null, $url = null, $mysql_help_page = null, $target = null, $a_id = null, $class = null, $a_class = null ) { echo PMA\Template::get('list/item') ->render( array( 'content' => $name, 'id' => $listId, 'class' => $class, 'url' => array( 'href' => $url, 'target' => $target, 'id' => $a_id, 'class' => $a_class, ), 'mysql_help_page' => $mysql_help_page, ) ); }

  • # Lancer Apache et MySQL avant de lancer phpMyAdmin peut-être ?

    Posté par (page perso) . Évalué à 1. Dernière modification le 10/12/17 à 08:02.

    Apache et MySQL sont ils démarrés lorsque vous essayez de lancer phpMyAdmin ?

    Vérifier que Apache est bien configuré pour exécuter les fichiers .php ?

  • # Précisions

    Posté par . Évalué à 5.

    Bonjour,

    Tout d'abord phpmyadmin est une interface web écrite en PHP pour gérer les bases de données MySQL. Pour coder en PHP, il te faut juste un éditeur de code/texte (gedit, kate, kdevelop, vim, emacs, etc.)

    Il était inutile de copier tout ce code ;) Visiblement ton installation ne permet pas d’interpréter le code PHP : ton navigateur affiche directement le code.

    En supposant que LinuxMint est analogue à Ubuntu, tu devrais installer le paquet libapache2-mod-php.

    • [^] # Re: Précisions

      Posté par (page perso) . Évalué à 5.

      Pour un débutant en PHP ne serait-il pas plus judicieux d'utiliser le serveur ad-hoc livré avec l'interpréteur au lieu de s'occuper de la configuration d'un serveur web? Du style php -S 127.0.0.1:80 -t mon-dossier-de-developpement ?

  • # phpMyAdmin sous Linuxmint 18.2 Sonya

    Posté par . Évalué à 0.

    Merci pour vos réponses.

    Alors, est ce qu'Apache et Mysql-server sont lancés ?
    Aucune idée !
    Autant pour Apache2 (car c'est Apache2 qui est installé : Apache "tout seul" n'étant pas dans le gestionnaire de téléchargement) que pour Mysql-server (car c'est Mysql-server que j'ai installé)…

    "Curiosité" révélatrice (?) ; si je tape dans la barre de recherche du Menu Mint : "Apache", puis "Mysql-server", il ne me trouve rien.
    Quand je vais dans mon gestionnaire de téléchargement ; celui ci me monte clairement qu'ils sont bien installés.

    Pour le paquet libapache2-mod-php, mon gestionnaire de téléchargement me dit qu'il est bien installé.
    (Et j'ai d'ailleurs aussi le paquet libapache2-mod-php7.0)

    Remarque pertinente de Michaël, même si je n'ai pas compris tout ce qu'il voulais dire…
    Utiliser le serveur ad-hoc livré avec l'interpréteur, moi je veux bien et je ne demanderais que ça, mais alors il va falloir m'expliquer quel est ce capitaine ad-hoc et ce qu'est l'interpréteur car moi pas comprendre.

    Une chose que je pense avoir compris : phpMyAdmin ne correspond pas à ce que je croyais qu'il était ; je vais dont le supprimer pour (re)commencer.

    • [^] # Re: phpMyAdmin sous Linuxmint 18.2 Sonya

      Posté par . Évalué à 3. Dernière modification le 10/12/17 à 23:14.

      Remarque pertinente de Michaël, même si je n'ai pas compris tout ce qu'il voulais dire…

      Comment tu peux savoir que c’est pertinent si tu n’as pas compris ? :) Tu dis ça d’après la note de son commentaire ?

      Utiliser le serveur ad-hoc livré avec l'interpréteur, moi je veux bien et je ne demanderais que ça, mais alors il va falloir m'expliquer quel est ce capitaine ad-hoc et ce qu'est l'interpréteur car moi pas comprendre.

      Extrait de la page man de php7:

      --server addr:port
      -S addr:port   Start built-in web server on the given local address and port
      
      --docroot docroot
      -t docroot     Specify the document root to be used by the built-in web server
      

      Le programme PHP inclut un serveur HTTP minimal, ça permet de ne pas avoir besoin d’Apache (ou un autre serveur HTTP comme Nginx) pour « servir des pages PHP ». Pour de la formation/test c’est effectivement bien suffisant. Ça suffirait même, en prod, pour une petite appli avec pas trop d’utilisateurs… Avec l’option --server (ou -S) tu spécifies l’adresse et le port sur lequel écouter, avec l’option --docroot (ou -t) tu indiques où se trouve tes fichiers PHP.

      Comme dit plus haut, le fait que le code PHP s’affiche dans ton navigateur c’est le signe qu’il y a un problème de configuration de ton serveur Web (Apache dans ton cas), le serveur web « sert » le fichier comme s’il s’agissait d’un bête fichier texte, il ne le « passe » pas à l’interpréteur PHP pour récupérer ensuite le résultat pour le servir au client…

      Je te confirme que phpMyAdmin est un client MariaDB/MySQL en PHP. Tu n’en a pas besoin, à moins que tu veuilles créer manuellement des bases de données, ou les éditer, etc… Ce n’est pas nécessaire par exemple pour accéder à un serveur MySQL en PHP, PHP possède lui-même les fonctions pour faire ça.

      Bon courage. Si ton but est d’apprendre le PHP, alors oui, utilise le serveur « interne » de PHP et te fais pas suer avec la configuration d’Apache…

    • [^] # Re: phpMyAdmin sous Linuxmint 18.2 Sonya

      Posté par (page perso) . Évalué à 2.

      "Curiosité" révélatrice (?) ; si je tape dans la barre de recherche du Menu Mint : "Apache", puis "Mysql-server", il ne me trouve rien.

      Démarrer ces services se fait habituellement par la ligne de commande. Ces logiciels sont complexes et ont besoin d'être configurés avant de les démarrer… c'est un sujet en soi!

      Remarque pertinente de Michaël, même si je n'ai pas compris tout ce qu'il voulais dire…

      Pour développer avec PHP l'interpréteur (le programme /usr/local/bin/php) peut aussi faire office de serveur web. ad hoc c'est du lateing: “Ad hoc est une locution latine qui signifie « pour cela ». Elle s'emploie de nos jours pour « qui a été institué spécialement pour répondre à un besoin.” – tandis que haddock, c'est du poisson! Ici il faut comprendre que le serveur est destiné à être utilisé pour le développement, il permet de commencer à travailler sans se pencher sur la configuration d'un serveur de qualité industrielle comme Apache.

  • # phpMyAdmin sous Linuxmint 18.2 Sonya

    Posté par . Évalué à 0.

    J'ai dis que sa remarque était pertinente pour faire une note d'humour bête avec une remarque qui ne l'était pas (pertinente).
    ;-)

    J'en ai profité pour changer le titre de mon post, histoire de le recentrer sur ma quête.

    Il ne me reste plus qu'à enregistrer mon document php dans le bon répertoire en www pour que ça marche (que mon navigateur traduise le code php) ?
    Sur ma machine deux répertoire possible :

    var/www
    usr/share/perl5/WWW

    Et je ne peux pas enregistrer mon document .php (ni html ni rien !) dans ces répertoires…
    J'ai ce message d'erreur :

    Unable to save /var/www/page_essai.php
    Error: Permission non accordée

    Pourtant j'ai les privilèges d'administrateur (si c'est comme ça qu'on dit) sur ma partition.

    • [^] # Re: phpMyAdmin sous Linuxmint 18.2 Sonya

      Posté par . Évalué à 2. Dernière modification le 11/12/17 à 09:09.

      C'est tout à fait normal.

      La case à cocher "administrateur de la machine" dans la configuration de ton compte te permet d’exécuter manuellement des commandes avec les droits root (accès à la commande sudo http://www.generation-linux.fr/?post/2009/03/24/Cours-Linux-%3A-sudo). Ce n'est pas pour autant que par défaut tu peux écrire n'importe ou dans le système de fichier.

      Il faut donc donner les droits à ton utilisateur et à l'utilisateur du serveur web d'accéder à ces dossiers. Par défaut les fichiers dans ce répertoires devraient appartenir à l'utilisateur du serveur web, dans ta distribution il s'appelle www-data.
      Une petite doc pour apprendre à gérer les droits sur le système de fichiers :
      http://lea-linux.org/documentations/ACL

      • [^] # Re: php sous Linuxmint 18.2 Sonya

        Posté par . Évalué à 1. Dernière modification le 11/12/17 à 11:03.

        Ah !
        Très bien, merci pour cette réponse.

        J'ai réussi à modifier les droits du répertoire et à enregistrer mon fichier .php dedans, grâce aux explications du second lien.

        Ultime problème que je ne peux encore pas résoudre tout seul, lorsque je je veux ouvrir mon fichier dans Firefox, j'ai cette fenêtre qui s'affiche (et toujours pas l'affichage de la page dans mon navigateur)

        Titre de l'image

        L'adresse de mon naviguateur affiche :

        file:///var/www/essai_2.php

        Si je clique sur OK, le problème s'ouvre dans un nouvel onglet (ma première boucle php en quelque sorte ;) )

        Pas de localhost dans l'adresse d'où le problème j'imagine.

        Donc je modifie l'adresse dans mon naviguateur pour :

        http://localhost/var/www/essai_2.php

        Et là, 404

        Not Found

        The requested URL /var/www/essai_2.php was not found on this server.
        Apache/2.4.18 (Ubuntu) Server at localhost Port 80

        Donc il va falloir que je passe quand même par l'étape du Server à paramétrer (?)

        Merci pour les réponses et votre aide.

  • # Re: php sous Linuxmint 18.2 Sonya

    Posté par . Évalué à 1.

    Du coup (je comprend pas vite, et il faut m'expliquer trèèèès longtemps) (et je dois relire plusieurs fois pour digérer les informations) j'en suis à là (je cite un bout du message de Marotte qui m'orientais sans que je ne capte quoi que ce soit) que je cite (en gras ci-dessous) :

    Extrait de la page man de php7:

    --server addr:port
    -S addr:port Start built-in web server on the given local address and port

    --docroot docroot
    -t docroot Specify the document root to be used by the built-in web server

    Le programme PHP inclut un serveur HTTP minimal, ça permet de ne pas avoir besoin d’Apache (ou un autre serveur HTTP comme Nginx) pour « servir des pages PHP ». Pour de la formation/test c’est effectivement bien suffisant. Ça suffirait même, en prod, pour une petite appli avec pas trop d’utilisateurs… Avec l’option --server (ou -S) tu spécifies l’adresse et le port sur lequel écouter, avec l’option --docroot (ou -t) tu indiques où se trouve tes fichiers PHP.

    Je dois donc "paramétrer" le serveur HTTP minimal de PHP. Via le terminal donc (?)

    Le port sur lequel écouter, c'est un port spécifique (et pas un autre) ou c'est moi qui peut le choisir ?

    • [^] # Re: php sous Linuxmint 18.2 Sonya

      Posté par . Évalué à 2. Dernière modification le 17/12/17 à 16:32.

      Vu tes réponses tu as déjà un serveur web apache configuré mais il te manque mod-php pour qu'il puisse exécuter tes scripts.
      Donc soit tu utilises le serveur minimal PHP soit tu installes le paquet libapache2-mod-php pour que apache puisse interpréter tes fichiers PHP au lieu de te les proposer en téléchargement comme c'est le cas actuellement.

      • [^] # Re: php sous Linuxmint 18.2 Sonya

        Posté par . Évalué à 3. Dernière modification le 17/12/17 à 16:37.

        Et oui pour le serveur minimal le port c'est à toi de choisir. Sachant qu'il faut des privilèges root pour écouter sur un port en dessous de 1024.
        Donc il faut indiquer ce port spécifique lorsque tu va vouloir acceder au serveur en utilisant http://adresse_ip:port/ dans ton navigateur.
        Tu ne pourras pas le faire écouter sur le port web par défaut (80) sans être root et sans arrêter le service apache qui écoute déjà sur ce port.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.