我在GitHub上下载了某人的项目,该项目使Facebook用户能够相互发送比特币。他在一年前放弃了开发,而我想构建自己的应用程序,但是我目前正在查看他的代码并试图建立我的开发环境。

我了解PHP的种类,它表示服务器端脚本,并且JavaScript在客户端计算机上执行(全部在浏览器中,而Node.js是服务器端框架)

无论如何,他正在做一些奇怪的事情,并且产生了错误。

目录结构如下:

inc/
  init.php
  app.php
  btc.php
index.php
settings.php


有更多文件,但是以上内容我认为就足够了。
因此,我运行命令“ php -S localhost:8000”,它将启动服务器

我进入本地主机,页面呈现后,在终端中出现以下错误:

[Sat Apr 12 02:23:11 2014] PHP Notice:  Undefined variable: app_url in /home/arthur/projects/bfb/index.php on line 21

[Sat Apr 12 02:23:11 2014] PHP Notice:  Undefined variable: callback_url in /home/arthur/projects/bfb/index.php on line 22

[Sat Apr 12 02:23:11 2014] PHP Fatal error:  Call to undefined function get_x_rates() in /home/arthur/projects/bfb/index.php on line 23

[Sat Apr 12 02:23:11 2014] 127.0.0.1:59511 [200]: / - Call to undefined function get_x_rates() in /home/arthur/projects/bfb/index.php on line 23

[Sat Apr 12 02:23:11 2014] 127.0.0.1:59512 [200]: /stylesheets/reset.css

[Sat Apr 12 02:23:11 2014] 127.0.0.1:59513 [200]: /stylesheets/btc.css

[Sat Apr 12 02:23:11 2014] 127.0.0.1:59514 [200]: /javascript/chosen.css

[Sat Apr 12 02:23:21 2014] 127.0.0.1:59515 Invalid request (Unexpected EOF)

[Sat Apr 12 02:23:21 2014] 127.0.0.1:59516 Invalid request (Unexpected EOF)


index.php文件具有以下常规结构:

<?php
//error_reporting(E_ALL);
//ini_set("display_errors", 1);

require 'settings.php';

require 'inc/btc.php';
require 'inc/app.php';

require 'inc/init.php';

?>
<!DOCTYPE html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
    <head>
        <meta charset="utf-8" />
        <title>Bitcoin Transactions</title>
        <link rel="stylesheet" href="stylesheets/reset.css" type="text/css" />
        <link rel="stylesheet" href="stylesheets/btc.css" type="text/css" />
        <link rel="stylesheet" href="javascript/chosen.css" type="text/css" />
        <script>var appurl='<?=$app_url?>',
                    hosturl='<?=$callback_url?>',
                    rates=<?=get_x_rates()?>;</script>
        <script type="text/javascript" src="javascript/jquery-1.7.1.min.js">    </script>
    <script type="text/javascript" src="javascript/chosen.jquery.min.js"></script>
    <script type="text/javascript" src="javascript/btc.js"></script>
</head>

<body>
 ....
</body>
</html>


由于他在html文件的开头加载了PHP文件,因此为什么看不到我在settings.php文件中定义的变量:

<?
$bucket_addr='-taken-out-for-Stack-Overflow';
$callback_url='https://super-lame-name-1231232.herokuapp.com/';
$app_url='https://apps.facebook.com/c------------------n';
$blockchain_guid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$blockchain_pw="xxxxxxxxxxxxxxxx";
$fb_settings=array(
  'appId'  => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
);
$fb_tx_fee=10000; //in satoshi (0.0001 BTC)
$btc_tx_fee=50000; //in satoshi (0.0005 BTC)
$tx_per_page=10;
$revert_duration="60 days";


谢谢你的帮助!!

最佳答案

可能不是全部,但是之前我遇到服务器设置问题。也许您的服务器不支持

<script>
    var appurl='<?=$app_url?>',
        hosturl='<?=$callback_url?>',
        rates=<?=get_x_rates()?>;
</script>


与:

<script>
    var appurl='<?php echo $app_url; ?>',
        hosturl='<?php echo $callback_url; ?>',
        rates=<?php get_x_rates(); ?>;
</script>


在我的本地计算机上有所作为。可能有帮助。祝好运。

10-05 21:02
查看更多