###前提・実現したいこと
VPSサーバーを使用したサイトを作成中で、TOPページにPHPのカウンターを設置しようとしているのですが、
正常に稼働しない為ご質問させて頂きます。
下記サイトにて設置済ですが、ソースを確認した所、
PHPがそのまま代入されており、正常にカウントがされていない状態です。
新サイト
旧サイトに同じ物を使用しておりますが、そちらでは特に問題なく稼働しております。
旧サイト
###発生している問題・エラーメッセージ
一部省略させて頂きます。
PHP
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<!--google Adsense> 5<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> 6<script> 7 (adsbygoogle = window.adsbygoogle || []).push({ 8 google_ad_client: "ca-pub-1354049850718392", 9 enable_page_level_ads: true 10 }); 11</script> 12<!--[if lt IE 9]> 13<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> 14<script src="//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> 15<![endif]--> 16 17<script type="text/javascript"> 18 <!-- 19 (function(){ 20 var _UA = navigator.userAgent; 21 if (_UA.indexOf('iPhone') > -1 || _UA.indexOf('iPad') > -1 || _UA.indexOf('iPod') > -1 || _UA.indexOf('Android') > -1) { 22 document.write('<link rel="stylesheet" href="http://ankachan.info/sp.css">'); 23 document.write('<meta name="viewport"content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no">'); 24 document.write('<meta name="format-detection" content="telephone=no">'); 25 }else{ 26 document.write('<link rel="stylesheet" type="text/css" href="pc.css">'); 27 } 28 })(); 29 //--> 30</script> 31 32<script> 33 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 34 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 35 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 36 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 37 ga('create', 'UA-89739513-1', 'auto'); 38 ga('send', 'pageview'); 39</script> 40 41<link rel="stylesheet" href="utbs.css" type="text/css"> 42<meta name="theme-color" content="#1C1C1C"> 43<meta http-equiv="Pragma" content="no-cache"> 44<meta http-equiv="Cache-Control" content="no-cache"> 45<meta http-equiv="Content-Language" content="ja"> 46<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 47<meta http-equiv="Content-Style-Type" content="text/css"> 48<meta http-equiv="Content-Script-Type" content="text/javascript"> 49<meta name="robots" content="index,follow"> 50<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=10.0, user-scalable=yes"> 51<meta name="apple-mobile-web-app-capable" content="no"> 52<meta name="format-detection" content="telephone=no"> 53<title>Under The Blue Sky</title> 54</head> 55 56 57<body style="margin:0px;padding:0px;" link="#cc0000" vlink="#cc0000"> 58<center><h1>Under The Blue Sky</h1></center> 59<div class="contents-image"><topimg><center><img src="top.jpg" alt="TOP"></center></topimg></div> 60<div align="center"> 61 62 63 64<? 65// ログファイル 66$logfile = './all.dat'; 67// ロックファイル 68$lockfile = './data.lock'; 69// タイムゾーンを日本に 70date_default_timezone_set( 'Asia/Tokyo' ); 71// 今日の日付 72$now_date = date( 'Ymd' ); 73// 昨日の日付 74$yes_date = date( 'Ymd', strtotime( '-1 day' ) ); 75 76////////////////////////////////// 77// 78// カウント処理開始 79// 80////////////////////////////////// 81 82// ロック開始 83$lock_fp = fopen( $lockfile, 'w' ); 84flock( $lock_fp, LOCK_EX ); 85 86// ログを読み取り 87$data = file( $logfile ); 88// 変数に入れる 89// $key=日付 $yes=昨日のカウント $tod=今日のカウント $all=合計のカウント 90list( $key, $yes, $tod, $all ) = explode( '|', $data[0] ); 91 92if ( $key == $now_date ) { // 日付が変わってなければ 93 // 今日のカウントアップ 94 $tod++; 95} else { // 日付が変わってたら 96 // 今日のカウントを昨日のカウントに代入 97 $yes = $tod; 98 // 但し日付が昨日と一致しなかったら昨日のアクセスは0とみなして0を代入 99 if ( $key != $yes_date ) { 100 $yes = 0; 101 } 102 // 今日のカウントを1に 103 $tod = 1; 104} 105 106// 合計のカウントアップ 107$all++; 108$new = implode( '|', array( $now_date, $yes, $tod, $all ) ); 109 110// ログを書き込み 111$fp = fopen( $logfile, 'w' ); 112fwrite( $fp, $new ); 113fclose( $fp ); 114 115// ロック解除 116fclose( $lock_fp );![イメージ説明](6d3d31a0ecd010e994197604f3e6b24b.jpeg) 117 118// カウント整形 119$yesterday = sprintf( '%03d', $yes ); 120$today = sprintf( '%03d', $tod ); 121$total = sprintf( '%04d', $all ); 122?> 123A:<br> 124T: Y:<br> 125 126~省略~ 127 128</body> 129</html>
旧サイトには下記のように設置ができており、新サイトでは表示されておりません。
###該当のソースコード
PHP
1<? 2// ログファイル 3$logfile = './all.dat'; 4// ロックファイル 5$lockfile = './data.lock'; 6// タイムゾーンを日本に 7date_default_timezone_set( 'Asia/Tokyo' ); 8// 今日の日付 9$now_date = date( 'Ymd' ); 10// 昨日の日付 11$yes_date = date( 'Ymd', strtotime( '-1 day' ) ); 12 13////////////////////////////////// 14// 15// カウント処理開始 16// 17////////////////////////////////// 18 19// ロック開始 20$lock_fp = fopen( $lockfile, 'w' ); 21flock( $lock_fp, LOCK_EX ); 22 23// ログを読み取り 24$data = file( $logfile ); 25// 変数に入れる 26// $key=日付 $yes=昨日のカウント $tod=今日のカウント $all=合計のカウント 27list( $key, $yes, $tod, $all ) = explode( '|', $data[0] ); 28 29if ( $key == $now_date ) { // 日付が変わってなければ 30 // 今日のカウントアップ 31 $tod++; 32} else { // 日付が変わってたら 33 // 今日のカウントを昨日のカウントに代入 34 $yes = $tod; 35 // 但し日付が昨日と一致しなかったら昨日のアクセスは0とみなして0を代入 36 if ( $key != $yes_date ) { 37 $yes = 0; 38 } 39 // 今日のカウントを1に 40 $tod = 1; 41} 42 43// 合計のカウントアップ 44$all++; 45$new = implode( '|', array( $now_date, $yes, $tod, $all ) ); 46 47// ログを書き込み 48$fp = fopen( $logfile, 'w' ); 49fwrite( $fp, $new ); 50fclose( $fp ); 51 52// ロック解除 53fclose( $lock_fp ); 54 55// カウント整形 56$yesterday = sprintf( '%03d', $yes ); 57$today = sprintf( '%03d', $tod ); 58$total = sprintf( '%04d', $all ); 59?>
###補足情報(言語/FW/ツール等のバージョンなど)
■新サイト
さくらインターネット様 さくらのVPS(v4) SSD 2G TK02
OS:CentOS7
Linux Apache PHP MySQL 構築済
■旧サイト
さくらインターネット様 さくらのレンタルサーバ スタンダード
以上となります。よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/07 02:11 編集
2017/04/07 02:16
2017/04/07 02:18
2017/04/07 02:33