Php5

無法在Google云服務中執行 php 文件

  • April 19, 2018

這是我的站點連結,當我嘗試在網路中登錄時,我得到的響應是整個 login.php 程式碼,而不是執行 php 文件後的響應。我的 app.yaml 文件是正確的,我已經仔細檢查過了。我的 php 文件無法在Google云服務中執行。

這是我的 app.yaml 程式碼

runtime: php55
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
 static_files: favicon.ico
 upload: favicon\.ico
- url: /css
 static_dir: css
- url: /images
 static_dir: images
- url: /fonts
 static_dir: fonts
- url: /utils
 static_dir: utils
- url: /js
 static_dir: js  
- url: /index.html
 script: /index.html
- url: /signup.html
 script: /signup.html
- url: /.*
 script: index.html 
- url: /utils/login.php
 script: /utils/login.php
- url: /js/login.js
 script: /js/login.js
- url: /js/script.js
 script: /js/script.js
- url: /js/jquery.min
 script: /js/jquery.min
- url: /js/bootstrap.min
 script: /js/bootstrap.min
- url: .*
 script: main.php

這是我的 login.php 程式碼

<?php


require 'dblinker.php';

function login(){
   try {
       $username = $_POST['username'];
       $password = $_POST['password'];

       // login function
       $handle=$conn->prepare("SELECT * FROM `users` WHERE `username`= :username AND `password`= :password");
       $handle->bindParam('username', $username, PDO::PARAM_STR);
       $handle->bindParam('password', $password, PDO::PARAM_STR);
       $handle->execute();
       if($handle->rowCount() == 1){
           $result=$handle->fetch(PDO::FETCH_ASSOC);
           $_SESSION["username"] = $result['username'];
           $_SESSION["role_id"] = $result['role_id'];
           echo "success";
       }else{
           echo "fail";
       }
   }
   catch(Exception $e){
       echo "F";
   }
}
session_start();
echo login();

?>

我將假設這是您所在的 LAMP 堆棧環境。

您需要安裝相關的依賴項:

sudo apt install libapache2-mod-php php-mcrypt php-mysql php php-gd php-pear php-curl

首先請檢查 phpinfo 頁面是否正常工作?使用以下程式碼嘗試使用 php-info.php

<?php
phpinfo();
?>

請參考PHP 執行時環境app.yaml 參考文件

引用自:https://serverfault.com/questions/908411