Voir la solution ci-dessous dans le posteTélécharger PHP mince via FTP
Mon php urls mince fonctionne très bien sur mon local. Mais si je télécharge à l'aide de FTP à mon serveur en ligne, je reçois erreur 404, des idées pourquoi?
ceci est mon code de la route:
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
$app = new \Slim\App;
$fb = new \Facebook\Facebook([
'app_id' => '',
'app_secret' => '',
'default_graph_version' => 'v2.9',
]);
$app->options('/{routes:.+}', function ($request, $response, $args) {
return $response;
});
$app->add(function ($req, $res, $next) {
$response = $next($req, $res);
return $response
->withHeader('Access-Control-Allow-Origin', '')
->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')
->withHeader('Access-Control-Allow-Methods', 'GET, POST');
});
//get all
$app->post('/api/mykenteken', function (Request $request, Response $response) use ($fb){
$token = $request->getParam('token');
try {
$fb_response = $fb->get('/me', $token);
} catch(\Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo '{"error": {"text": "'.$e->getMessage().'"} }';
exit;
} catch(\Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo '{"error": {"text": "'.$e->getMessage().'"} }';
exit;
}
$id = $request->getParam('id');
$sql = "SELECT * FROM test where id = $id";
try{
// Get DB Object
$db = new db();
// Connect
$db = $db->connect();
$stmt = $db->query($sql);
$users = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo json_encode($users);
} catch(PDOException $e){
return $response->withStatus(400)->write('{"error": {"text": '.$e->getMessage().'}}');
}
});
J'ai téléchargé mes fichiers php mince en utilisant Filezilla. J'utilise le compositeur sur mon local.
sur mon locale rediriger mon ip au domaine localdev
mise à jour
mon code php sont dans ce chemin sur mon serveur en ligne:
domaine/public_html/beta/php
et ceci est la structure de dossiers du dossier php:
code .htaccess est:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule^index.php [QSA,L]
Soltion
Je suis arrivé ce qui est de la question:
Je dois regarder dans ce dossier: domaine/public_html/beta/php/public Et non: domain/public_html
si
Le lien du api doit être est: http://www.domain.nl/beta/php/public/myapilink Et non: http://www.domain.nl/myapilink
Veuillez montrer votre code. –
Salut Ben, j'ai ajouté du code – Momen
On dirait que vous avez manqué un fichier '.htaccess' ou similaire. Votre serveur en ligne utilise-t-il Apache? – Phil