我有一个search.php文件,它应该与我的index.php文件交互以进行自动完成。 search.php文件内容为Google Cloud SQL信息。在我的app.yaml中,我已经为cloud SQL指定了env_variables,但我不确定我应该在app.yaml中为search.php文件写什么。 我的app.yaml就像:
runtime: php55
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: index.php
env_variables:
MYSQL_DSN: mysql:unix_socket=/cloudsql/myprojectexample:us-central1:product;dbname=pd
MYSQL_USER: root
MYSQL_PASSWORD: root
我的index.php的一部分:(只显示将要使用的search.php)
<script>
$(function() {
$( "#456" ).autocomplete({
source: 'search.php',
minLength: 3
});
});
</script>
那么,我应该如何在App.yaml中包含search.php才能让它工作?到目前为止,应用引擎不会与Cloud SQL交互。
谢谢!
答案 0 :(得分:0)
您可以为search.php文件定义处理程序,并让。*处理程序捕获其他所有内容。例如
runtime: php55
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: /search.php
script: search.php
- url: .*
script: index.php
将按顺序读取处理程序,直到找到匹配项。因此,每当您尝试调用search.php时,它都将指向您的search.php文件,并且在任何其他文件被调用时,它将指向index.php
您还可以使用app.yaml文件来整理处理程序或端点。
例如:
handlers:
- url: /api/search.php
script: search.php
- url: /api/authenticate.php
script: authenticate.php
您也可以使用它来消除在请求中指定.php或文件扩展名的需要。
handlers:
- url: /search/.*
script: search.php
现在,只要您拨打/ search或yourappdomain.appspot.com/search,您就会点击搜索页面。 您可以根据需要添加任意数量的处理程序,但请记住它们按照编写顺序进行搜索,并且一旦找到匹配项,就会执行匹配。那么你最后会抓到所有的处理程序了吗?