2014-10-11 5 views
1

다음과 같이 업무 일 계산에 일요일을 설명하는 기능이 있습니다. 그것은 Mac에서 실행되는 MAMP 인 테스트 서버에서 작동합니다. LAMP를 실행하는 Unbuntu 서버로 코드를 옮기면 작동을 멈 춥니 다 (아무 것도로드하지 않는 페이지로 나타남).MAMP와 Ubuntu Server의 구문 차이

나는 이유를 알아낼 수 없으며, 작은 따옴표와 큰 따옴표의 다양한 조합을 시도했다.

기능은 다음과 같습니다 -이 될 수있는 이유에 잃었어요

// 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

PHP에서 "아무것도로드하지 않는 페이지"또는 "죽음의 흰색 화면"은 오류 로그를 확인해야한다는 것을 의미합니다. 항상 코드를 개발하고 테스트 할 때'error_reporting (E_ALL); 스크립트의 맨 위에있는 ini_set ('display_errors', 1); 오류가 자세히 설명됩니다. –

+0

이 기능과 관련이 있습니까? 아마도 권한 문제일까요? – Fluffeh

+0

review /var/log/apache2/error.log –

답변

0

다양한 의견의 답변에 따르면 이것은 서버 버전 문제였습니다. 필자의 테스트 박스에있는 PHP 버전은 라이브 버전보다 최근 버전입니다.

어떤 용도로든 사용하려면 Mac Mini에서 MAMP를 5.5.3의 테스트 환경으로 사용하고 LAMP를 5.3이있는 UBUNTU 12.04 서버 상자에 사용하고 있습니다. 우분투 버전, 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에 상주하는 코드를 기대할 것이므로 디폴트를 바꾸는 것이 미래의 버전에 영향을 줄 수 있다고 생각한다.

또한 복사하여 하위 폴더를 만드는 경우주의해야 할 폴더에 대한 사용 권한 문제가 있습니다.

희망은 다른 사용자에게 유용합니다.

1

컴퓨터간에 버전이 변경되었을 수 있습니다. 우분투에

, 당신은 던져진 어떤 오류보고

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

/var/log/apache2/error.log 파일을 확인할 수 있습니다.

이 컴퓨터의 현재 PHP 버전을 확인하려면 , 명령 줄에서

php -v 

를 사용할 수있는 또 다른 방법은 PHP를 넣어하는 것입니다

(설치 PHP5-CLI 모듈이 필요합니다) 파일 :

<?php 
    phpinfo(); 
?> 

웹 디렉토리에있는 파일을 열고 브라우저에서 엽니 다.

+0

이 작업을 수행하고 다시보고하십시오. – Jason

+0

라이브 환경과 테스트 환경의 버전 차이가있는 것 같습니다. 신발 끈에있는 일을 할 때의 위험 : – Jason

+0

@ jason 당신은 당신의 문제를 극복 할 수 있었습니까? 문법적 인 차이가 있습니다. –