我有以下功能来计算工作日计算中的星期日。它适用于我的测试服务器,即在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"));
我迷失了为什么会这样。
答案 0 :(得分:1)
您可能会在机器之间进行版本更改。
在ubuntu上,你可以查看文件/var/log/apache2/error.logtail -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中。
如果您要复制并创建子文件夹,您可能希望了解该文件夹的一些权限问题。
希望这对某人有用。