MAMP和Ubuntu Server之间的语法区别

时间:2014-10-11 12:08:14

标签: php mamp lamp

我有以下功能来计算工作日计算中的星期日。它适用于我的测试服务器,即在Mac上运行的MAMP。当我将代码移动到运行LAMP的Ubuntu服务器时,它会停止工作(表现为页面没有加载任何东西)。

我无法找出原因,并尝试过单引号和双引号的所有不同组合。

该功能是: -

// function to account for Sundays, and public holidays. Add holiday dates in $holidayDays variable
function get_next_business_date($from, $days) {
$workingDays = [1, 2, 3, 4, 5, 6]; # date format = N (1 = Monday, ...)
$holidayDays = ["*-12-25","*-12-26", "*-01-01", "2014-12-24"]; # variable and fixed holidays

$from = new DateTime($from);
while ($days) {
    $from->modify("+1 day");
    if (!in_array($from->format('N'), $workingDays)) continue;
    if (in_array($from->format('Y-m-d'), $holidayDays)) continue;
    if (in_array($from->format('*-m-d'), $holidayDays)) continue;
    $days--;
}
return $from->format("Y-m-d"); #  or just return DateTime object
}

$today = date("Y-m-d", strtotime("today"));
$tomorrow = get_next_business_date("today", 1);
$twodays = get_next_business_date("today", 2);
$yesterday  =   date("Y-m-d", strtotime("yesterday"));

我迷失了为什么会这样。

2 个答案:

答案 0 :(得分:1)

您可能会在机器之间进行版本更改。

在ubuntu上,你可以查看文件/var/log/apache2/error.log

tail -f /var/log/apache2/error.log

查看抛出的错误。

要检查计算机上的当前PHP版本,可以使用

php -v
从命令行

(需要安装 php5-cli 模块)

另一种方法是将PHP文件放在:

<?php
  phpinfo();
?>

在您的网站目录中,然后使用浏览器打开它。

答案 1 :(得分:0)

根据各种评论中的回复,这是一个服务器版本问题。我的测试盒上的PHP版本比实时版本更新。

如果有任何用处,我在Mac Mini上使用MAMP作为我的测试环境,其中5.5.3,而LAMP在UBUNTU 12.04服务器盒上使用5.3。我不想升级Ubuntu版本,只想升级PHP版本,并按照http://phpave.com/upgrade-php-5-3-php-5-5-ubuntu-12-04-lts/

进行升级

要注意的事项(如果您不知道)是您的PHP代码的默认目录将从/ var / www更改为/ var / www / html。您可以将PHP移动到/ var / www / html文件夹,也可以根据上面的链接更改默认文件夹。我怀疑更改默认值可能会对未来版本产生影响,因为他们希望代码驻留在/ var / www / html中。

如果您要复制并创建子文件夹,您可能希望了解该文件夹的一些权限问题。

希望这对某人有用。