尝试运行 restler explorer 时,我不断收到 404 : Not Found ../resources.json
我转了一圈又一圈,没有找到解决这个问题的方法。这似乎不是权限问题,也不是 PHP 版本问题。
我的 .htaccess 看起来像这样
Options -MultiViews
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
<IfModule mod_php5.c>
php_flag display_errors Off
</IfModule>
如果我在打开 php 错误的情况下运行它,我会注意到一些可能与问题有关或无关的警告。
警告:realpath() 期望参数 1 是有效路径,数组在/home/sonic/Public/html/ucemi/ucemi.com/vendor/Luracast/Restler/AutoLoader.php中的第161行给出
警告:realpath() 期望参数 1 为有效路径,数组在/home/sonic/Public/html/ucemi/ucemi.com/vendor/Luracast/Restler/AutoLoader.php中的第161行
警告:realpath() 期望参数 1 有效路径,数组在/home/sonic/Public/html/ucemi/ucemi.com/vendor/Luracast/Restler/AutoLoader.php第161
行{ "error": { "code": 404, "message": "Not成立” } }
我按照指示将 vendor/luracast/explorer/dist 目录复制到 API 的根目录(public/explorer),并在 public/explorer 中创建了 index.php,如下所示;
<?php
use Luracast\Restler\Restler;
require_once '../../vendor/restler.php';
$r = new Restler();
$r->addAPIClass('Luracast\\Restler\\Resources'); //this creates resources.json at API Root
//... add more api classes if needed
$r->handle();
不确定还需要做多少,但它一直给我 404 : Not Found ../resources.json
我的 apache2 配置如下所示;
<VirtualHost *:80>
ServerAdmin root
ServerName ucemi.com
DocumentRoot /home/sonic/Public/html/ucemi/ucemi.com/public
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/sonic/Public/html/ucemi/ucemi.com/public>
AllowOverride All
Options FollowSymlinks
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Apache 版本:Apache/2.2.22 (Ubuntu) PHP 版本:PHP 5.4.9-4ubuntu2.2 (cli)
这是我有生以来第一次在任何地方寻求帮助:-p .. 我真的很难过,我想使用 Restler/Explorer,所以任何可以提供帮助的人,,,我真的很感激.