我在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>
在我的本地计算机上有所作为。可能有帮助。祝好运。