質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • PHP

    20301questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    5844questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • cron

    166questions

    cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

cron設定でエラーが出てしまう

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 178

kazunoko

score 41

heteml上でcron設定を行っておりますが下記のようなエラーが出てしまいます。

Mismatched tag at line 59, column 8
Space required at line 31, column 18

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 71967    0 71967    0     0   406k      0 --:--:-- --:--:-- --:--:--  780k

エラーの「Mismatched tag」を調べる限り、閉じタグが無いなどの問題があるとのことで
ソースをもう一度見て見ましたが、そのような箇所は見当たりませんでした。

下記はエラーが出ていると思われるソースでございます。
イメージ説明
(31行目部分)

イメージ説明
(59行目部分)

cron設定は、下のURLを見て行いました。
https://heteml.jp/support/manual/cron/

大変恐縮ではございますが、ご教示いただけましたら幸いでございます。
何卒、よろしくお願い申し上げます。

 追記

#!/usr/local/bin/php54
<?php
error_reporting(0);
include_once('./tmp/header.php');//DB接続
$num = 10000;//RSS取得件数
date_default_timezone_set('Asia/Tokyo');

$rssUrl=array(
    'http://●●●●●●●●●/index.rdf',
    'http://●●●●●●●●●●/index.rdf'
);
//magpierss
require_once("magpierss-0.72/rss_fetch.inc");
define("MAGPIE_OUTPUT_ENCODING","UTF-8");
define("MAGPIE_CACHE_AGE","30");

foreach ($rssUrl as $no => $rss_url) {
if ($rss_url != '') {
//URLからRSSを取得
$rss   = @fetch_rss($rss_url);
if ($rss != NULL) {
for ($i=0; $i<count($rss->items); $i++) {
$rss->items[$i]["site_title"] = $rss->channel["title"];
$rss->items[$i]["site_link"] = $rss->channel["link"];
}
//itemsを格納
$rssItemsArray[] = $rss->items;
}
}
}
$concatArray = array();
if (is_array($rssItemsArray)) {
for($i=0;$i<count($rssItemsArray);$i++){
$concatArray = array_merge($concatArray,$rssItemsArray[$i]);//配列を統合する
}
foreach ($concatArray as $no => $values) {
//RSSの種類によって日付を取得
if($values['published']){$date = $values['published'];}
elseif($values['created']){$date = $values['created'];}
elseif($values['pubdate']){$date = $values['pubdate'];}
elseif($values['dc']['date']){$date = $values['dc']['date'];}
$day=date("Y-m-d H:i:s",strtotime($date));
//Filter
$nowtime = date("Y-m-d H:i:s",strtotime( "now" ));//現在時刻の取得
if($day > $nowtime){//未来記事の排除
}elseif(preg_match("/AD/", $values["title"])){//広告記事の排除
}elseif(preg_match("/PR/", $values["title"])){
}else{

//値の定義
$title=$values["title"];
$link=$values["link"];
$site_title=$values["site_title"];
$site_link=$values["site_link"];
//記事ごとに必要な項目を抽出
$rssArray[]=array($day, $title, $link, $site_title, $site_link);
}//
}//
//ソート
function cmp($a, $b) {
if ($a[0] == $b[0]) return 0;
return ($a[0] > $b[0]) ? -1 : 1;
}
if($rssArray) { usort($rssArray, 'cmp'); }
if(count($rssArray) > $num){$count=$num;}
else{$count=count($rssArray);}
for ($i=0; $i<$count; $i++) {
$day=date("Y-m-d H:i:s",strtotime($rssArray[$i][0]));
$title=$rssArray[$i][1];
$link=$rssArray[$i][2];
$site_title=$rssArray[$i][3];
$site_link=$rssArray[$i][4];
$daylink = "<div>$date";
    $titlelink = "<a href='$link'>$title</a>";
    $site_titlelink = "<a href='$site_link'>[$site_title]</a></div>";
//echo "$datelink$titlelink$site_titlelink</div>";//(確認用)
//格納
$stmt = $pdo->prepare("insert into rss (title,link,site_title,site_link,day) values (?,?,?,?,?)");
$stmt->execute(array($title,$link,$site_title,$site_link,$day));
}
}
$stmt = 'DELETE FROM rss WHERE id NOT IN (SELECT min_id from (SELECT MIN(id) min_id FROM rss GROUP BY link,title) tmp)';
$stmt = $pdo->prepare($stmt);
$stmt->execute();
$stmt = 'ALTER table rss drop column id';
$stmt = $pdo->prepare($stmt);
$stmt->execute();
$stmt = 'ALTER table rss add id int(11) primary key not null auto_increment first';
$stmt = $pdo->prepare($stmt);
$stmt->execute();
$stmt = 'ALTER TABLE rss AUTO_INCREMENT =1';
$stmt = $pdo->prepare($stmt);
$stmt->execute();
//切断
$pdo = null;
?>

 tmp/header.php

<?php
    error_reporting(0);
    try{
      $pdo = new PDO('mysql:host=●●●●.jp;dbname=_testtest;charset=utf8','_root','root',array(PDO::ATTR_EMULATE_PREPARES => false));
    }catch(PDOException $e){
      exit('no connect'.$e -> getMessage());
    }
?>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • kazunoko

    2018/06/26 14:24

    mts10806様 ご連絡誠にありがとうございます。先ほど追記いたしましたのでご査収いただけますと幸いでございます。

    キャンセル

  • CHERRY

    2018/06/26 14:35 編集

    magpierss をお使いのようですので、おそらくは、取得した RSS を XML としてパースする際のエラーではないかと思います。  ` Warning: MagpieRSS: Failed to parse RSS file. (Mismatched tag at line xxx, column yyy) ` のようなエラーも同時に出ていないでしょうか?

    キャンセル

  • kazunoko

    2018/06/26 15:49

    CHERRY様 ご連絡誠にありがとうございます。「Warning: MagpieRSS: Failed to parse RSS file. 」というエラーはなく、「Mismatched tag at line xxx, column yyy」というエラーのみがメールで返って来ます。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    20301questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    5844questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • cron

    166questions

    cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。