【问题标题】:Including and calling external php scripts from cakePHP从 cakePHP 包含和调用外部 php 脚本
【发布时间】:2013-11-03 11:12:48
【问题描述】:

在服务器上,我有负责向手机发送通知的 php 脚本。如果从同一目录调用脚本,它运行良好。

问题是从 cakePHP 应用程序调用脚本。

我在 cakePHP 函数中包含通知脚本,如下所示:

include $_SERVER['DOCUMENT_ROOT'].'/folder_name/Notifications.php';

当我调用脚本时,我在脚本中收到以下警告:

include_once(./db_connect.php) [function.include-once]: failed to open stream: No such file or directory [/home/username/public_html/gcm_server_php/db_functions.php

Warning (2): include_once() [function.include]: Failed opening './db_connect.php' for inclusion (include_path='/home/username/public_html/cake-dev/lib:.:/usr/lib/php:/usr/local/lib/php') [/home/username/public_html/gcm_server_php/db_functions.php, line 21]

还有以下致命错误:

Error: Class 'DB_Connect' not found 
File: /home/username/public_html/gcm_server_php/db_functions.php    
Line: 25

非常感谢任何帮助。请记住,从同一目录调用脚本,一切运行顺利。

【问题讨论】:

  • 看起来很明显 - 它无法打开文件,因为路径假定 cwd 是文件夹 folder_name。只需编辑文件,使db_coǹnect.php 包含在绝对路径中。请注意,除非有某些特定原因,否则它看起来根本不应该在您的 webroot 中 - 它应该在供应商文件夹中(即 http 无法访问)。

标签: php cakephp cakephp-2.3


【解决方案1】:

整个应用程序中的所有包含链接都错误。需要做的是包含其他文件和绝对路径,如下所示:

包括 $_SERVER['DOCUMENT_ROOT'].'/folder_name/Notifications.php';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    相关资源
    最近更新 更多