Comment construire une application.fichier yaml?
J'essaie GAE pour php et s'est perdu dans l'application.fichier yaml de la construction. Je peux comprendre de la part de google tutoriel qui montre comment faire pointer tous requête d'url pour un fichier unique
https://developers.google.com/appengine/docs/php/gettingstarted/helloworld
Mais il n'est pas utile dans mon cas. Je vais poster ce que j'ai de l'installation et de la structure du fichier est dans le pic.
App.yaml
application: xxx
version: 1
runtime: php
api_version: 1
threadsafe: true
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /images
static_dir: images
- url: /scripts
static_dir: scripts
- url: /favicon.ico
static_files: favicon.ico
upload: favicon.ico
- url: /
script: main.php
login: required
auth_fail_action: redirect
- url: /main
script: main.php
login: required
auth_fail_action: redirect
Donc ma page d'atterrissage pour xxx.appspot.com ou xxx.appsport.com/main serait main.php. Et il fonctionne très bien.
main.php
<?php
session_start();
date_default_timezone_set('America/Los_Angeles');
require_once 'google/appengine/api/users/UserService.php';
use google\appengine\api\users\User;
use google\appengine\api\users\UserService;
$user = UserService::getCurrentUser();
$name= $user->getNickname();
$name = explode(".",$name);
$name[0]= ucfirst($name[0]);
$name[1]= ucfirst($name[1]);
$name = $name[0]." ".$name[1];
$_SESSION['name']=$name;
$_SESSION['email']= getenv('USER_EMAIL');
header('Location: login.php');
Donc il charge démarre une session et obtient le nom d'utilisateur et e-mail faire un peu de mise en forme de chaîne, puis défini comme variable de Session puis-je vérifier pour correspondre à une condition et fondées sur l'état rediriger vers un autre script qui fait un peu plus de la validation et ainsi de suite. Pour faire simple je suis juste en la redirigeant vers login.php
login.php
<?php
session_start();
echo $_SESSION['name'];
Afin de les mettre affiché doit être le nom de la variable de session, mais à la place je reçois ce
Alors qu'ai-je fait de mal? Je vais utiliser la page de connexion à tirer de l'utilisateur des données à partir de SQL db et basée sur la valeur de rediriger l'utilisateur vers des pages différentes qui affiche différentes formes, des tableaux, des rapports basés sur leurs paramètres.
Par exemple. À partir de login.php
si l'utilisateur appartient à Dept1
header('location: /Dept1/main.php');
D'autre
header('location: /Deptx/main.php');
Donc j'attends beaucoup de redirections et chacun des redirections doivent être en mesure d'effectuer également sur les variables de session sont fixés. J'ai aussi pu le faire lors de l'exécution normale du serveur PHP. Le GAE version nécessite une re de l'apprentissage. Je tiens à remercier tout un à l'avance juste pour prendre le temps de lire jusqu'à entendre. Merci.
Aussi ce serait sympa si quelqu'un pouvait faire un détail tutoriel sur la façon d'utiliser l'application.yaml et comment il pourrait être utilisé avec une démo exemple comme dans w3school.
OriginalL'auteur Abilash Amarasekaran | 2013-07-12
Vous devez vous connecter pour publier un commentaire.
Votre application.yaml est à la recherche de bonnes, c'est juste incomplète.
Vous avez défini que "/" et "/main" carte à votre main.php script, et qui fonctionne très bien.
Mais lorsque le navigateur de l'utilisateur demandes "/login.php" App Engine regarde dans l'app.yaml et de ne pas trouver l'itinéraire qui correspond, si vous obtenez ce message d'erreur 404.
Pour gérer ce cas particulier, vous pouvez une autre entrée avec "url: /login.php" et "script: login.php".
Alors je chercherais par le biais de votre application et assurez-vous que vous êtes ne manque pas d'autres voies.
Vous aussi vous pouvez avoir besoin d'utiliser des caractères génériques dans votre Url dans l'application.yaml. Sinon, si votre demande jamais envoie l'utilisateur vers une URL de la forme "/principal/sous-page", il ne sera pas aller à la main.php gestionnaire, car il ne correspond à aucune des routes dans l'app.yaml. Dans ce cas, vous pourriez utiliser "url: /principal.*", à titre d'exemple. Ou vous pouvez utiliser un fourre-tout "/.*" gestionnaire à la fin de votre application.yaml.
Vous pouvez en apprendre davantage sur ces caractères génériques et l'application d'autres.yaml options sur le PHP app.yaml page de référence:
https://developers.google.com/appengine/docs/php/config/appconfig
(Vous n'avez pas besoin des caractères génériques pour vos feuilles de style, javascript et images, bien que, parce que vous avez utilisé static_dir pour ceux.)
Oh oui, merci, j'ai édité la réponse.
Merci pour le contrôle. Je vais essayer cela. Pouvez-vous expliquer comment les caractères spéciaux de travail?
Les caractères spéciaux vous permettent d'utiliser des expressions régulières, une généralisation de la technique pour trouver des modèles dans des chaînes. Ils sont la peine d'apprendre; en plus de votre application.yaml, vous pouvez les utiliser dans votre PHP dans le futur. Voici un tutoriel, en PHP, guide spécifique.
Merci @JamieNiemasik
OriginalL'auteur Jamie Niemasik
Voici la mienne, ça peut aider.
Pcode
est juste un de mes dossiers (pas sûr si vous avez besoin de définir les dossiers, mais j'ai juste laissé là de toute façon):Fondamentalement, je pense que les lignes suivantes similaire à la régularité de l'hôte php comme
hostgator
,godaddy
etc.:OriginalL'auteur user2123424