phpMyAdminで「unknown system variable 'lc_messages'」となる場合の対処

July 13,2021 11:55 PM
Category:[Linux]
Tag:[Linux, PHP, phpMyAdmin]
Permalink

phpMyAdminで「unknown system variable 'lc_messages'」となる場合の対処方法を紹介します。

1.問題点

phpMyAdminをインストールしてアクセスしたところ、「unknown system variable 'lc_messages'」というエラーが発生しました。

(クリックで拡大)
「unknown system variable 'lc_messages'」というエラー

どのサイトを調べても「php.iniの設定を変更してmysqli拡張を有効にする」「php-mysqlがインストールされていない」とありますが、その問題ではないようです。

2.原因

PHPのバージョンは7.3で、MySQLのバージョンが5.1であることが原因のようです。

MySQL5.5以上にすることで解決します。

MySQL5.5にアップデートする方法は別の記事で紹介します。

3.参考サイト

参考サイトは下記です。ありがとうございました。

phpmyadminのエラーの原因と解決方法を教えてください。

Comments [0] | Trackbacks [0]

Linux(CentOS)でapxsがみつからない場合の対処

July 6,2021 11:55 PM
Category:[Linux]
Tag:[]
Permalink

Linux(CentOS)で、apxsがみつからない場合の対処方法を紹介します。

1.問題点

apxsは「APache eXtenSion tool」の略で、phpと連携させるためのモジュール生成等で必要なのですが、サーバに存在しません。

# apxs
-bash: apxs: command not found

ということで、apxsがみつからない場合の対処方法を紹介します。

2.apxsがみつからない場合の対処

httpd-develをインストールすることで解決します。

# yum install httpd-devel
 :
Installed:
  httpd-devel.x86_64 0:2.2.15-69.el6.centos
 
Dependency Installed:
  apr-devel.x86_64 0:1.3.9-5.el6_9.1        apr-util-devel.x86_64 0:1.3.9-3.el6_0.1     cyrus-sasl-devel.x86_64 0:2.1.23-15.el6_6.2     expat-devel.x86_64 0:2.0.1-13.el6_8
  openldap-devel.x86_64 0:2.4.40-16.el6
 
Complete!

これでインストールされました。

# apxs
Usage: apxs -g [-S <var>=<val>] -n <modname>
       apxs -q [-S <var>=<val>] <query> ...
       apxs -c [-S <var>=<val>] [-o <dsofile>] [-D <name>[=<value>]]
               [-I <incdir>] [-L <libdir>] [-l <libname>] [-Wc,<flags>]
               [-Wl,<flags>] [-p] <files> ...
       apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
       apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> ...
Comments [0] | Trackbacks [0]

Movable Type 7のコンテンツデータ(コンテンツタイプアーカイブ)をページ分割する方法

June 23,2021 11:55 PM
Category:[ページ分割]
Tag:[MovableType, PageBute]
Permalink

Movable Type 7のコンテンツデータ(コンテンツタイプアーカイブ)をページ分割する方法を紹介します。

1.はじめに

Movable Type 7のコンテンツデータ(個別ページ)をページ分割する方法です。

ページ分割にはPageButeプラグインを利用します。

テンプレート種別でいうところの、「コンテンツタイプリストアーカイブ」をページ分割するのは情報があるようですが、「コンテンツタイプアーカイブ」をページ分割する情報がないようなので、本記事で紹介します。

なお、分割するにあたっては下記の条件となります。

  • 分割対象はコンテンツタイプ内の特定のコンテンツフィールド(テキスト(複数行))のみ

分割する方法は2つあるので、順番に説明します。

サンプルでは、分割するコンテンツフィールドの名前を「本文」としています。

2.コンテンツデータ(コンテンツタイプアーカイブ)をページ分割する(その1:コメント挿入)

まず、コンテンツタイプアーカイブテンプレートを次のように設定します。

前半の5行がコンテンツフィールドのページ分割、残りの部分はごちゃごちゃしてますがページネーションのためのテンプレート(Pagebuteの公式サイトから引用)です。

<mt:PageContents count="1">
  <mt:ContentField content_field="本文">
    <mt:ContentFieldValue><$mt:PageSeparator$>
  </mt:ContentField>
</mt:PageContents>
 
<mt:Pagination>
  <mt:PaginationHeader>
<div class="pagenate"><ul>
    <mt:IfPaginationFirst><li><a class="link_before" href="<$mt:PaginationFirst$>">&lt;&lt;</a></li></mt:IfPaginationFirst>
        <mt:IfPaginationPrev><li><a class="link_before" href="<$mt:PaginationPrev$>">&lt;</a></li></mt:IfPaginationPrev>
  </mt:PaginationHeader>
  <mt:IfPaginationCurrent>
    <mt:ignore>現在のページ</mt:ignore>
  <li><span><mt:PaginationLink element="number"></span></li>
  <mt:Else>
    <mt:ignore>それ以外(遷移用のリンクあり)</mt:ignore>
    <li><a href="<$mt:PaginationLink$>"><$mt:PaginationLink element="number"$></a></li>
  </mt:IfPaginationCurrent>
  <mt:PaginationFooter>
    <mt:IfPaginationNext><li><a class="link_next" href="<$mt:PaginationNext$>">&gt;</a></li></mt:IfPaginationNext>
    <mt:IfPaginationLast><li><a class="link_next" href="<$mt:PaginationLast$>">&gt;&gt;</a></li></mt:IfPaginationLast>
</ul></div>
  </mt:PaginationFooter>
</mt:Pagination>

そして、コンテンツデータ作成時、コンテンツフィールド「本文」に対し、ページ分割したい箇所に

<!-- Separator for PageBute -->

を挿入します。

たとえば以下のように挿入します。

本文(1ページ目)
 :
本文(1ページ目)
 
<!-- Separator for PageBute -->
 
本文(2ページ目)
 :
本文(2ページ目)
 
<!-- Separator for PageBute -->
 
本文(3ページ目)
 :
本文(3ページ目)

3.コンテンツデータ(コンテンツタイプアーカイブ)をページ分割する(その2:mtevalモディファイアを利用)

まず、コンテンツタイプアーカイブテンプレートを次のように設定します。

<mt:PageContents count="1">
  <mt:ContentField content_field="本文">
    <mt:ContentFieldValue mteval="1"><$mt:PageSeparator$>
  </mt:ContentField>
</mt:PageContents>
  
<mt:Pagination>
  <mt:PaginationHeader>
<div class="pagenate"><ul>
    <mt:IfPaginationFirst><li><a class="link_before" href="<$mt:PaginationFirst$>">&lt;&lt;</a></li></mt:IfPaginationFirst>
    <mt:IfPaginationPrev><li><a class="link_before" href="<$mt:PaginationPrev$>">&lt;</a></li></mt:IfPaginationPrev>
  </mt:PaginationHeader>
  <mt:IfPaginationCurrent>
    <mt:ignore>現在のページ</mt:ignore>
    <li><span><mt:PaginationLink element="number"></span></li>
  <mt:Else>
    <mt:ignore>それ以外(遷移用のリンクあり)</mt:ignore>
  <li><a href="<$mt:PaginationLink$>"><$mt:PaginationLink element="number"$></a></li>
  </mt:IfPaginationCurrent>
  <mt:PaginationFooter>
    <mt:IfPaginationNext><li><a class="link_next" href="<$mt:PaginationNext$>">&gt;</a></li></mt:IfPaginationNext>
    <mt:IfPaginationLast><li><a class="link_next" href="<$mt:PaginationLast$>">&gt;&gt;</a></li></mt:IfPaginationLast>
</ul></div>
  </mt:PaginationFooter>
</mt:Pagination>

そして、コンテンツデータ作成時、コンテンツフィールド「本文」に対し、ページ分割したい箇所に

<$mt:PageSeparator$>

を挿入します。

たとえば以下のように挿入します。

本文(1ページ目)
 :
本文(1ページ目)
 
<$mt:PageSeparator$>
 
本文(2ページ目)
 :
本文(2ページ目)
 
<$mt:PageSeparator$>
 
本文(3ページ目)
 :
本文(3ページ目)

3.その他のコンテンツフィールドについて

ページ分割対象でないコンテンツフィールドは、MTPageContentsタグの外に書くか、中に書くかで表示方法が変わります。

  1. MTPageContentsタグの中に書く:1ページ目のみに表示
  2. MTPageContentsタグの外に書く:すべてのページに表示

1.の書き方の例は下記です。

<mt:PageContents count="1">
商品名:<mt:ContentField content_field="商品名"><mt:ContentFieldValue></mt:ContentField>
価格:<mt:ContentField content_field="価格"><mt:ContentFieldValue></mt:ContentField>
  <mt:ContentField content_field="本文">
    <mt:ContentFieldValue mteval="1"><$mt:PageSeparator$>
  </mt:ContentField>
</mt:PageContents>
 :

2.の書き方の例は下記です。

商品名:<mt:ContentField content_field="商品名"><mt:ContentFieldValue></mt:ContentField>
価格:<mt:ContentField content_field="価格"><mt:ContentFieldValue></mt:ContentField>
<mt:PageContents count="1">
  <mt:ContentField content_field="本文">
    <mt:ContentFieldValue mteval="1"><$mt:PageSeparator$>
  </mt:ContentField>
</mt:PageContents>
 :
Comments [0] | Trackbacks [0]

PHP7.3とApacheを連携させる方法

June 21,2021 11:55 PM
Category:[Linux]
Tag:[Apache, Linux, PHP]
Permalink

PHP7.3とApacheを連携させる方法を紹介します。

1.問題点

PHPとApacheを連携させるためには、libphpXX.soというApacheモジュールが必要です。

このモジュールはPHPインストール時に自動的に設定されるようですが、今回PHP7.3をyumでインストールした際に、このApacheモジュールがありませんでした。

理由は、apxs(APache eXtenSion tool)というコマンドがLinuxにインストールされていなかったためです。

apxsのインストールは「Linux(CentOS)でapxsがみつからない場合の対処」をご覧ください。

本記事では、そのあとApacheと連係させる方法を紹介します。

特殊なケースと思いますが、参考になれば幸いです。

2.PHP7.3とApacheを連携させる方法

Apacheモジュール(libphp7.so)を、PHPのソースをコンパイルにより生成します。

PHP7.3のソースをダウンロード。wgetできない場合、URLからアーカイブをダウンロードします。

# wget --trust-server-names https://www.php.net/distributions/php-7.3.25.tar.gz

アーカイブを展開し、展開したディレクトリに移動。

# tar -zxvf php-7.3.25.tar.gz
# cd php-7.3.25

./configureの実行。"--with-apxs2=/usr/sbin/apxs"でapxsのパスを指定します。指定しないとlibphp7.soが生成されないので注意してください。

# ./configure --with-apxs2=/usr/sbin/apxs

libxml2など、./configureでエラーが発生する場合は適宜パッケージをインストールしてください。

余談で、libxml2-2.9.9.tar.gz(http://xmlsoft.org/download/)をインストールしましたが、python関連のエラーを避けたいため、./configureで下記のようにしました。

# tar -zxvf libxml2-2.9.9.tar.gz
# cd libxml2-2.9.9
# ./configure --with-python=no
# make
# make install

話を戻して、PHPの./configureが成功後、コンパイルします。

# make

これでlibs配下にlibphp7.soが生成されました。

# cd libs
# ls -l
total 34876
-rw-r--r-- 1 root root     1057 Apr 29 19:53 libphp7.la
-rwxr-xr-x 1 root root 35707918 Apr 29 19:53 libphp7.so

make installは実行せず、libphp7.soを/etc/httpd/modulesにコピー。

# cp libphp7.so /etc/httpd/modules/

あとは、httpd.confに下記の設定を追加します。

LoadModule php7_module modules/libphp7.so
 :
<FilesMatch \.php$>
     SetHandler application/x-httpd-php
</FilesMatch>

設定後、サーバを再起動。

# service httpd restart

これでブラウザからPHPファイルにアクセスして正常に表示されればOKです。

ビルドしたときのphp-7.3.25ディレクトリは削除してください。

Comments [0] | Trackbacks [0]

CentOS 6にPHP7.3をインストールする方法

June 9,2021 11:55 PM
Category:[Linux]
Tag:[Linux, PHP]
Permalink

CentOS 6にPHP7.3をインストールする方法を紹介します。

1.問題点

CentOS 6にyumでPHPをインストールすると、7.3のremiリポジトリを指定しても、5.3.3という古いバージョンがインストールされてしまいます(下記)。

# yum install --skip-broken --enablerepo=remi-php73 php php-cli php-common php-devel php-gd php-mbstring php-mcrypt php-mysqlnd php-pdo php-pear php-pecl-jsonc php-pecl-jsonc-devel php-process php-xml
Loaded plugins: fastestmirror, priorities, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * epel: ftp.iij.ad.jp
 * remi-php73: ftp.riken.jp
 * remi-safe: ftp.riken.jp
245 packages excluded due to repository priority protections
Package php-mcrypt is obsoleted by php-pecl-mcrypt, trying to install php-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 instead
No package php-pecl-jsonc available.
No package php-pecl-jsonc-devel available.
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-cli.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-common.x86_64 0:5.3.3-50.el6_10 will be installed
 :
---> Package php-process.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-xml.x86_64 0:5.3.3-50.el6_10 will be installed
--> Finished Dependency Resolution
 
Packages skipped because of dependency problems:
    php-mysqlnd-7.3.25-1.el6.remi.x86_64 from remi-php73
    php-pecl-mcrypt-1.0.3-1.el6.remi.7.3.x86_64 from remi-php73
 
Dependencies Resolved
 
===============================================================================================================================================================================
 Package                                     Arch                               Version                                           Repository                              Size
===============================================================================================================================================================================
Installing:
 php                                         x86_64                             5.3.3-50.el6_10                                   updates                                1.1 M
 php-cli                                     x86_64                             5.3.3-50.el6_10                                   updates                                2.2 M
 php-common                                  x86_64                             5.3.3-50.el6_10                                   updates                                530 k
 php-devel                                   x86_64                             5.3.3-50.el6_10                                   updates                                513 k
 php-gd                                      x86_64                             5.3.3-50.el6_10                                   updates                                112 k
 php-mbstring                                x86_64                             5.3.3-50.el6_10                                   updates                                460 k
 php-pdo                                     x86_64                             5.3.3-50.el6_10                                   updates                                 80 k
 php-pear                                    noarch                             1:1.9.4-5.el6                                     base                                   393 k
 php-process                                 x86_64                             5.3.3-50.el6_10                                   updates                                 44 k
 php-xml                                     x86_64                             5.3.3-50.el6_10                                   updates                                108 k
Skipped (dependency problems):
 php-mysqlnd                                 x86_64                             7.3.25-1.el6.remi                                 remi-php73                             216 k
 php-pecl-mcrypt                             x86_64                             1.0.3-1.el6.remi.7.3                              remi-php73                              27 k
 
Transaction Summary
===============================================================================================================================================================================
Install      10 Package(s)
(後略)

ということで、CentOS 6にPHP7.3をインストールする方法を紹介します。

以下のサンプルはrootユーザーで実行しています。そうでない場合、suでroot権限実行するよう、適宜変更してください。

なお、CentOS 6はサポートが2020年11月30日に終了しているので、後述のyum installで下記のエラーが発生する場合、

Loaded plugins: fastestmirror, priorities, security
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt

リポジトリリスト (/etc/yum.repos.d/CentOS-Base.repo) のURLを、パッケージが公開されているvault.centos.orgへ変更してください。

# sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo
# sed -i -e "s/^#baseurl=http:\/\/mirror.centos.org/baseurl=http:\/\/vault.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo

2.CentOS 6にPHP7.3をインストールする

CentOSを最新化します(少し時間がかかります)。

# yum update

完了後、サーバを再起動。

# shutdown -r now

現在のPHPパッケージをアンインストールします。

PHPのパッケージをアンインストールするのは「yum remove php*」「yum remove php-*」です。

# yum remove php*
 : 
Removed:
  php.x86_64 0:5.3.3-50.el6_10                php-cli.x86_64 0:5.3.3-50.el6_10             php-common.x86_64 0:5.3.3-50.el6_10        php-devel.x86_64 0:5.3.3-50.el6_10
  php-gd.x86_64 0:5.3.3-50.el6_10             php-mbstring.x86_64 0:5.3.3-50.el6_10        php-pdo.x86_64 0:5.3.3-50.el6_10           php-pear.noarch 1:1.9.4-5.el6
  php-process.x86_64 0:5.3.3-50.el6_10        php-xml.x86_64 0:5.3.3-50.el6_10
 
Complete!
# yum remove php-*
 : 
Removed:
  php-bcmath.x86_64 0:5.3.3-50.el6_10    php-common.x86_64 0:5.3.3-50.el6_10   php-fedora-autoloader.noarch 0:1.0.1-2.el6  php-gd.x86_64 0:5.3.3-50.el6_10
  php-mbstring.x86_64 0:5.3.3-50.el6_10  php-mcrypt.x86_64 0:5.3.3-5.el6       php-mysql.x86_64 0:5.3.3-50.el6_10          php-pdo.x86_64 0:5.3.3-50.el6_10
  php-php-gettext.noarch 0:1.0.12-1.el6  php-process.x86_64 0:5.3.3-50.el6_10  php-tcpdf.noarch 0:6.2.26-1.el6             php-tcpdf-dejavu-sans-fonts.noarch 0:6.2.26-1.el6
  php-tidy.x86_64 0:5.3.3-50.el6_10      php-xml.x86_64 0:5.3.3-50.el6_10
 
Complete!

PHPのインストールの前に、CentOS 6用のremiリポジトリを取得するか確認します。

# ls -l /etc/yum.repos.d/
total 28
-rw-r--r--  1 root root 1981 Jan 11  2013 CentOS-Base.repo
-rw-r--r--. 1 root root  637 Jun 26  2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 Jun 26  2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 Jun 26  2012 CentOS-Vault.repo
-rw-r--r--  1 root root 1056 Nov  5  2012 epel-testing.repo
-rw-r--r--  1 root root  957 Nov  5  2012 epel.repo
-rw-r--r--  1 root root  644 Jan 11  2013 remi.repo

remi-phpXX.repoがない場合、下記を実施。

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Retrieving http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Preparing...                ########################################### [100%]
   1:remi-release           ########################################### [100%]

これでCentOS 6用のremiリポジトリが追加されました。

# ls -l /etc/yum.repos.d/
total 72
-rw-r--r--  1 root root 1981 Jan 11  2013 CentOS-Base.repo
-rw-r--r--. 1 root root  637 Jun 26  2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 Jun 26  2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 Jun 26  2012 CentOS-Vault.repo
-rw-r--r--  1 root root 1056 Nov  5  2012 epel-testing.repo
-rw-r--r--  1 root root  957 Nov  5  2012 epel.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi91.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi92.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi93.repo
-rw-r--r--  1 root root  446 Feb 18  2020 remi-glpi94.repo
-rw-r--r--  1 root root  456 Feb 18  2020 remi-php54.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php70.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php71.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php72.repo
-rw-r--r--  1 root root 1314 Feb 18  2020 remi-php73.repo
-rw-r--r--  1 root root  750 Feb 18  2020 remi-safe.repo
-rw-r--r--  1 root root  644 Jan 11  2013 remi.repo
-rw-r--r--  1 root root 2605 Feb 18  2020 remi.repo.rpmnew

"remi-php73.repo"があるので、PHPは7.3までいれられそうです。

次に、PHP7.3のphp-mbstringをインストールします。何回かに分割していますが、以降のパッケージをまとめてインストールできるかもしれません。

# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-mbstring
 :
Installed:
  php-mbstring.x86_64 0:7.3.25-1.el6.remi
 
Dependency Installed:
  oniguruma5php.x86_64 0:6.9.6-1.el6.remi                     php-common.x86_64 0:7.3.25-1.el6.remi                     php-json.x86_64 0:7.3.25-1.el6.remi
 
Complete!

次に、php-mysqlnd、php-pdo、php-gdをインストールします。

# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php-mysqlnd php-pdo php-gd
 :
Installed:
  php-gd.x86_64 0:7.3.25-1.el6.remi                       php-mysqlnd.x86_64 0:7.3.25-1.el6.remi                       php-pdo.x86_64 0:7.3.25-1.el6.remi
 
Dependency Installed:
  gd-last.x86_64 0:2.3.0-2.el6.remi                                                        libwebp.x86_64 0:0.4.3-3.el6
 
Complete!

php-develをインストールします。

# yum install --enablerepo=epel,remi,remi-safe,remi-php73 php-devel
 :
Installed:
  php-devel.x86_64 0:7.3.25-1.el6.remi
 
Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.4-5.el6                 krb5-devel.x86_64 0:1.10.3-65.el6                            libargon2-devel.x86_64 0:20161029-7.el6.remi
  libcom_err-devel.x86_64 0:1.41.12-24.el6               libedit-devel.x86_64 0:2.11-4.20080712cvs.1.el6              libkadm5.x86_64 0:1.10.3-65.el6
  libselinux-devel.x86_64 0:2.0.94-7.el6                 libsepol-devel.x86_64 0:2.0.41-4.el6                         libxml2-devel.x86_64 0:2.7.6-21.el6_8.1
  ncurses-devel.x86_64 0:5.7-4.20090207.el6              openssl-devel.x86_64 0:1.0.1e-58.el6_10                      php-cli.x86_64 0:7.3.25-1.el6.remi
  zlib-devel.x86_64 0:1.2.3-29.el6
 
Complete!

最後にphpをインストールします。

# yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php73 php
 :
Installed:
  php.x86_64 0:7.3.25-1.el6.remi
 
Complete!

3.参考サイト

参考サイトは下記です。ありがとうございました。

【Web】さくらVPSのPHPを7.1→7.3にバージョンアップする
さくらVPSのPHPを5.5から7.3にアップデートしました
さくらVPSでPHPをアップデートする
CentOS 6 で "YumRepo Error: All mirror URLs are not using ftp, http[s] or file."

Comments [0] | Trackbacks [0]

Perlの正規表現を使って文字列をまとめて取得する方法

June 2,2021 11:55 PM
Category:[Perl]
Tag:[Perl]
Permalink

Perlの正規表現で文字列をまとめて取得する方法を紹介します。

1.問題点

Perlで次のようなタイムスタンプの変数を設定します。

my $timestamp = '2021-04-11 12:34:56';

このタイムスタンプんの年月日時分秒をそれぞれ別の変数に取得したいのですが方法がわかりません。

ちなみに、特定の文字列であれば、次のような構文で取得できます。

( my $year = $timestamp ) =~ s/^(\d{4})-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}$/$1/;

ということで、Perlの正規表現を使って文字列をまとめて取得する方法を紹介します。

2.対処方法

文字列をまとめて取得するには次のようにパターンマッチ演算子(m//)で記述します。

my ( $year, $month, $day, $hour, $minute, $second )
    = $timestamp
    =~ m!^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})$!;

これで、$year, $month, $day, $hour, $minute, $secondの各変数に、年月日時分秒をそれぞれ設定されます。

Comments [0] | Trackbacks [0]

phpMyAdminのインストールで「PYCURL ERROR 22」になる場合の対処

May 26,2021 11:55 PM
Category:[Linux]
Tag:[Linux, phpMyAdmin]
Permalink

phpMyAdminのインストールで「PYCURL ERROR 22」になる場合の対処方法を紹介します。

1.問題点

yumでphpMyAdminをインストールしようとしたところ、前半は問題なかったのですが、後半で「[Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"」というエラーが多発(下記赤色部分)。

# yum -y install phpmyadmin
Loaded plugins: fastestmirror, priorities, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * epel: ftp.iij.ad.jp
 * remi-safe: ftp.riken.jp
191 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:3.5.8.2-1.el6 will be installed
--> Processing Dependency: php-mysql >= 5.2.0 for package: phpMyAdmin-3.5.8.2-1.el6.noarch
 :
---> Package php-pdo.x86_64 0:5.3.3-50.el6_10 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===============================================================================================================================================================================
 Package                                       Arch                                 Version                                        Repository                             Size
===============================================================================================================================================================================
Installing:
 phpMyAdmin                                    noarch                               3.5.8.2-1.el6                                  epel                                  4.3 M
Installing for dependencies:
 php                                           x86_64                               5.3.3-50.el6_10                                updates                               1.1 M
 php-cli                                       x86_64                               5.3.3-50.el6_10                                updates                               2.2 M
 php-common                                    x86_64                               5.3.3-50.el6_10                                updates                               530 k
 php-gd                                        x86_64                               5.3.3-50.el6_10                                updates                               112 k
 php-mbstring                                  x86_64                               5.3.3-50.el6_10                                updates                               460 k
 php-mcrypt                                    x86_64                               5.3.3-3.el6                                    epel                                   19 k
 php-mysql                                     x86_64                               5.3.3-50.el6_10                                updates                                86 k
 php-pdo                                       x86_64                               5.3.3-50.el6_10                                updates                                80 k
 php-php-gettext                               noarch                               1.0.11-3.el6                                   epel                                   21 k
 
Transaction Summary
===============================================================================================================================================================================
Install      10 Package(s)
 
Total size: 8.9 M
Total download size: 8.8 M
Installed size: 33 M
Downloading Packages:
(1/9): php-5.3.3-50.el6_10.x86_64.rpm                                                                                                                   | 1.1 MB     00:01
(2/9): php-cli-5.3.3-50.el6_10.x86_64.rpm                                                                                                               | 2.2 MB     00:01
(3/9): php-common-5.3.3-50.el6_10.x86_64.rpm                                                                                                            | 530 kB     00:00
(4/9): php-gd-5.3.3-50.el6_10.x86_64.rpm                                                                                                                | 112 kB     00:00
(5/9): php-mbstring-5.3.3-50.el6_10.x86_64.rpm                                                                                                          | 460 kB     00:00
http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
To address this issue please refer to the below wiki article
 
https://wiki.centos.org/yum-errors
 
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
 
http://ftp.tsukuba.wide.ad.jp/Linux/fedora/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
http://ftp.cuhk.edu.hk/pub/linux/fedora-epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
http://mirror.premi.st/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
 :
http://mirrors.ispros.com.bd/fedora-epel/6/x86_64/phpMyAdmin-3.5.8.2-1.el6.noarch.rpm: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.ispros.com.bd'"
Trying other mirror.
http://mirrors.vinahost.vn/epel/6/x86_64/phpMyAdmin-3.5.8.2-1.el6.noarch.rpm: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.vinahost.vn'"
Trying other mirror.
 
 
Error Downloading Packages:
  php-mcrypt-5.3.3-3.el6.x86_64: failure: php-mcrypt-5.3.3-3.el6.x86_64.rpm from epel: [Errno 256] No more mirrors to try.
  php-php-gettext-1.0.11-3.el6.noarch: failure: php-php-gettext-1.0.11-3.el6.noarch.rpm from epel: [Errno 256] No more mirrors to try.
  phpMyAdmin-3.5.8.2-1.el6.noarch: failure: phpMyAdmin-3.5.8.2-1.el6.noarch.rpm from epel: [Errno 256] No more mirrors to try.

2.原因と対処

これを実行するまでに他のパッケージのアップデートやインストールでyumを多用していて、キャッシュにゴミが残っていたのが原因のようです。

ということで、「yum clean all」を実行。

# yum clean all
Loaded plugins: fastestmirror, priorities, security
Cleaning repos: base epel extras remi-safe updates
Cleaning up Everything
Cleaning up list of fastest mirrors

これで無事インストールできました。

# yum -y install phpmyadmin
Loaded plugins: fastestmirror, priorities, security
Setting up Install Process
Determining fastest mirrors
epel/metalink                                                                                                                                           | 4.7 kB     00:00
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * remi-safe: ftp.riken.jp
base                                                                                                                                                    | 3.7 kB     00:00
base/primary_db                                                                                                                                         | 4.7 MB     00:03
epel                                                                                                                                                    | 4.7 kB     00:00
epel/primary_db                                                                                                                                         | 6.1 MB     00:00
extras                                                                                                                                                  | 3.4 kB     00:00
extras/primary_db                                                                                                                                       |  29 kB     00:00
remi-safe                                                                                                                                               | 3.0 kB     00:00
remi-safe/primary_db                                                                                                                                    | 1.2 MB     00:00
updates                                                                                                                                                 | 3.4 kB     00:00
updates/primary_db                                                                                                                                      |  12 MB     00:07
107 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.0.10.20-1.el6 will be installed
--> Processing Dependency: php(language) < 7 for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php(language) >= 5.2.17 for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-bz2 for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-ctype for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-curl for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-date for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-filter for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-gd for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-hash for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-iconv for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-json for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-libxml for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-mbstring for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-mcrypt for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-mysqli for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-pcre for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-php-gettext for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-session for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-simplexml for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-spl for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-tcpdf for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-tcpdf-dejavu-sans-fonts for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-xmlwriter for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-zip for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Processing Dependency: php-zlib for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Running transaction check
---> Package php-common.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-gd.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-mbstring.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-mcrypt.x86_64 0:5.3.3-5.el6 will be installed
---> Package php-mysql.x86_64 0:5.3.3-50.el6_10 will be installed
--> Processing Dependency: php-pdo(x86-64) for package: php-mysql-5.3.3-50.el6_10.x86_64
---> Package php-php-gettext.noarch 0:1.0.12-1.el6 will be installed
---> Package php-tcpdf.noarch 0:6.2.26-1.el6 will be installed
--> Processing Dependency: php-bcmath for package: php-tcpdf-6.2.26-1.el6.noarch
--> Processing Dependency: php-composer(fedora/autoloader) for package: php-tcpdf-6.2.26-1.el6.noarch
--> Processing Dependency: php-posix for package: php-tcpdf-6.2.26-1.el6.noarch
--> Processing Dependency: php-tidy for package: php-tcpdf-6.2.26-1.el6.noarch
---> Package php-tcpdf-dejavu-sans-fonts.noarch 0:6.2.26-1.el6 will be installed
--> Processing Dependency: dejavu-sans-fonts for package: php-tcpdf-dejavu-sans-fonts-6.2.26-1.el6.noarch
---> Package php-xml.x86_64 0:5.3.3-50.el6_10 will be installed
--> Running transaction check
---> Package dejavu-sans-fonts.noarch 0:2.33-1.el6 will be installed
--> Processing Dependency: dejavu-fonts-common = 2.33-1.el6 for package: dejavu-sans-fonts-2.33-1.el6.noarch
---> Package php-bcmath.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-fedora-autoloader.noarch 0:1.0.1-2.el6 will be installed
---> Package php-pdo.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-process.x86_64 0:5.3.3-50.el6_10 will be installed
---> Package php-tidy.x86_64 0:5.3.3-50.el6_10 will be installed
--> Processing Dependency: libtidy-0.99.so.0()(64bit) for package: php-tidy-5.3.3-50.el6_10.x86_64
--> Running transaction check
---> Package dejavu-fonts-common.noarch 0:2.33-1.el6 will be installed
---> Package libtidy.x86_64 0:0.99.0-19.20070615.1.el6 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===============================================================================================================================================================================
 Package                                              Arch                            Version                                           Repository                        Size
===============================================================================================================================================================================
Installing:
 phpMyAdmin                                           noarch                          4.0.10.20-1.el6                                   epel                             4.1 M
Installing for dependencies:
 dejavu-fonts-common                                  noarch                          2.33-1.el6                                        base                              63 k
 dejavu-sans-fonts                                    noarch                          2.33-1.el6                                        base                             2.2 M
 libtidy                                              x86_64                          0.99.0-19.20070615.1.el6                          base                             127 k
 php-bcmath                                           x86_64                          5.3.3-50.el6_10                                   updates                           40 k
 php-common                                           x86_64                          5.3.3-50.el6_10                                   updates                          530 k
 php-fedora-autoloader                                noarch                          1.0.1-2.el6                                       epel                              11 k
 php-gd                                               x86_64                          5.3.3-50.el6_10                                   updates                          112 k
 php-mbstring                                         x86_64                          5.3.3-50.el6_10                                   updates                          460 k
 php-mcrypt                                           x86_64                          5.3.3-5.el6                                       epel                              19 k
 php-mysql                                            x86_64                          5.3.3-50.el6_10                                   updates                           86 k
 php-pdo                                              x86_64                          5.3.3-50.el6_10                                   updates                           80 k
 php-php-gettext                                      noarch                          1.0.12-1.el6                                      epel                              22 k
 php-process                                          x86_64                          5.3.3-50.el6_10                                   updates                           44 k
 php-tcpdf                                            noarch                          6.2.26-1.el6                                      epel                             2.8 M
 php-tcpdf-dejavu-sans-fonts                          noarch                          6.2.26-1.el6                                      epel                             315 k
 php-tidy                                             x86_64                          5.3.3-50.el6_10                                   updates                           41 k
 php-xml                                              x86_64                          5.3.3-50.el6_10                                   updates                          108 k
 
Transaction Summary
===============================================================================================================================================================================
Install      18 Package(s)
 
Total download size: 11 M
Installed size: 44 M
Downloading Packages:
(1/18): dejavu-fonts-common-2.33-1.el6.noarch.rpm                                                                                                       |  63 kB     00:00
(2/18): dejavu-sans-fonts-2.33-1.el6.noarch.rpm                                                                                                         | 2.2 MB     00:01
(3/18): libtidy-0.99.0-19.20070615.1.el6.x86_64.rpm                                                                                                     | 127 kB     00:00
(4/18): php-bcmath-5.3.3-50.el6_10.x86_64.rpm                                                                                                           |  40 kB     00:00
(5/18): php-common-5.3.3-50.el6_10.x86_64.rpm                                                                                                           | 530 kB     00:00
(6/18): php-fedora-autoloader-1.0.1-2.el6.noarch.rpm                                                                                                    |  11 kB     00:00
(7/18): php-gd-5.3.3-50.el6_10.x86_64.rpm                                                                                                               | 112 kB     00:00
(8/18): php-mbstring-5.3.3-50.el6_10.x86_64.rpm                                                                                                         | 460 kB     00:00
(9/18): php-mcrypt-5.3.3-5.el6.x86_64.rpm                                                                                                               |  19 kB     00:00
(10/18): php-mysql-5.3.3-50.el6_10.x86_64.rpm                                                                                                           |  86 kB     00:00
(11/18): php-pdo-5.3.3-50.el6_10.x86_64.rpm                                                                                                             |  80 kB     00:00
(12/18): php-php-gettext-1.0.12-1.el6.noarch.rpm                                                                                                        |  22 kB     00:00
(13/18): php-process-5.3.3-50.el6_10.x86_64.rpm                                                                                                         |  44 kB     00:00
(14/18): php-tcpdf-6.2.26-1.el6.noarch.rpm                                                                                                              | 2.8 MB     00:01
(15/18): php-tcpdf-dejavu-sans-fonts-6.2.26-1.el6.noarch.rpm                                                                                            | 315 kB     00:01
(16/18): php-tidy-5.3.3-50.el6_10.x86_64.rpm                                                                                                            |  41 kB     00:00
(17/18): php-xml-5.3.3-50.el6_10.x86_64.rpm                                                                                                             | 108 kB     00:00
(18/18): phpMyAdmin-4.0.10.20-1.el6.noarch.rpm                                                                                                          | 4.1 MB     00:14
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                          441 kB/s |  11 MB     00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php-common-5.3.3-50.el6_10.x86_64                                                                                                                          1/18
  Installing : php-mbstring-5.3.3-50.el6_10.x86_64                                                                                                                        2/18
  Installing : php-xml-5.3.3-50.el6_10.x86_64                                                                                                                             3/18
  Installing : php-gd-5.3.3-50.el6_10.x86_64                                                                                                                              4/18
  Installing : php-php-gettext-1.0.12-1.el6.noarch                                                                                                                        5/18
  Installing : php-fedora-autoloader-1.0.1-2.el6.noarch                                                                                                                   6/18
  Installing : php-mcrypt-5.3.3-5.el6.x86_64                                                                                                                              7/18
  Installing : php-process-5.3.3-50.el6_10.x86_64                                                                                                                         8/18
  Installing : php-pdo-5.3.3-50.el6_10.x86_64                                                                                                                             9/18
  Installing : php-mysql-5.3.3-50.el6_10.x86_64                                                                                                                          10/18
  Installing : php-bcmath-5.3.3-50.el6_10.x86_64                                                                                                                         11/18
  Installing : dejavu-fonts-common-2.33-1.el6.noarch                                                                                                                     12/18
  Installing : dejavu-sans-fonts-2.33-1.el6.noarch                                                                                                                       13/18
  Installing : libtidy-0.99.0-19.20070615.1.el6.x86_64                                                                                                                   14/18
  Installing : php-tidy-5.3.3-50.el6_10.x86_64                                                                                                                           15/18
  Installing : php-tcpdf-6.2.26-1.el6.noarch                                                                                                                             16/18
  Installing : php-tcpdf-dejavu-sans-fonts-6.2.26-1.el6.noarch                                                                                                           17/18
  Installing : phpMyAdmin-4.0.10.20-1.el6.noarch                                                                                                                         18/18
  Verifying  : php-xml-5.3.3-50.el6_10.x86_64                                                                                                                             1/18
  Verifying  : dejavu-sans-fonts-2.33-1.el6.noarch                                                                                                                        2/18
  Verifying  : php-fedora-autoloader-1.0.1-2.el6.noarch                                                                                                                   3/18
  Verifying  : php-tcpdf-dejavu-sans-fonts-6.2.26-1.el6.noarch                                                                                                            4/18
  Verifying  : php-tcpdf-6.2.26-1.el6.noarch                                                                                                                              5/18
  Verifying  : libtidy-0.99.0-19.20070615.1.el6.x86_64                                                                                                                    6/18
  Verifying  : php-mysql-5.3.3-50.el6_10.x86_64                                                                                                                           7/18
  Verifying  : php-tidy-5.3.3-50.el6_10.x86_64                                                                                                                            8/18
  Verifying  : php-mcrypt-5.3.3-5.el6.x86_64                                                                                                                              9/18
  Verifying  : php-process-5.3.3-50.el6_10.x86_64                                                                                                                        10/18
  Verifying  : php-common-5.3.3-50.el6_10.x86_64                                                                                                                         11/18
  Verifying  : phpMyAdmin-4.0.10.20-1.el6.noarch                                                                                                                         12/18
  Verifying  : php-mbstring-5.3.3-50.el6_10.x86_64                                                                                                                       13/18
  Verifying  : php-php-gettext-1.0.12-1.el6.noarch                                                                                                                       14/18
  Verifying  : php-gd-5.3.3-50.el6_10.x86_64                                                                                                                             15/18
  Verifying  : php-pdo-5.3.3-50.el6_10.x86_64                                                                                                                            16/18
  Verifying  : php-bcmath-5.3.3-50.el6_10.x86_64                                                                                                                         17/18
  Verifying  : dejavu-fonts-common-2.33-1.el6.noarch                                                                                                                     18/18
 
Installed:
  phpMyAdmin.noarch 0:4.0.10.20-1.el6
 
Dependency Installed:
  dejavu-fonts-common.noarch 0:2.33-1.el6 dejavu-sans-fonts.noarch 0:2.33-1.el6      libtidy.x86_64 0:0.99.0-19.20070615.1.el6         php-bcmath.x86_64 0:5.3.3-50.el6_10
  php-common.x86_64 0:5.3.3-50.el6_10     php-fedora-autoloader.noarch 0:1.0.1-2.el6 php-gd.x86_64 0:5.3.3-50.el6_10                   php-mbstring.x86_64 0:5.3.3-50.el6_10
  php-mcrypt.x86_64 0:5.3.3-5.el6         php-mysql.x86_64 0:5.3.3-50.el6_10         php-pdo.x86_64 0:5.3.3-50.el6_10                  php-php-gettext.noarch 0:1.0.12-1.el6
  php-process.x86_64 0:5.3.3-50.el6_10    php-tcpdf.noarch 0:6.2.26-1.el6            php-tcpdf-dejavu-sans-fonts.noarch 0:6.2.26-1.el6 php-tidy.x86_64 0:5.3.3-50.el6_10
  php-xml.x86_64 0:5.3.3-50.el6_10
 
Complete!
Comments [0] | Trackbacks [0]

Windows10 + MKEditorでカーソルが消える問題の対処

May 5,2021 11:55 PM
Category:[Windows]
Tag:[MKEditor, Windows]
Permalink

Windows10 + MKEditorでカーソルが消える問題の対処方法を紹介します。

1.問題点

Windows10でMKEditorを使っていると、文字を入力したタイミングでカーソルが消えてしまいます。

下のキャプチャでは、文字のところにあるはずのカーソルが表示されていません。

キャプチャ

が、原因が分かりません。

ということで、Windows10 + MKEditorでカーソルが消える問題の対処方法を紹介します。

2.カーソルが消える問題の対処方法

「設定」アイコンをクリック。

「時刻と言語」をクリック。

左メニューから「言語」をクリック。

「優先する言語」より「日本語」をクリック。

「オプション」をクリック。

「キーボード」の「Microsoft IME」をクリック。

「オプション」をクリック。

「全般」をクリック。

下の方にある「互換性」の「以前のバージョンのMicrosoft IMEを使う」をオンにします(下はオフの状態)。

これで「オン」になりました。

MKEditorで新しく開いたタブについてはカーソルが表示されるようになりました。


Comments [0] | Trackbacks [0]

ブログ「小粋空間」をSSL化しました

May 1,2021 3:55 PM
Category:[blog]
Tag:[SSL]
Permalink

遅ればせながら、ブログ「小粋空間」をSSL化(http→https)しました。

ブログ「小粋空間」をSSL化

当ブログはMTを利用しているので、以下、SSL化で作業した内容を残しておきます。

SSL証明書の取得・設定方法は別エントリーします。

1.方針

SSL化でどの部分からhttpをhttpsに変更すればいいか?という問題ですが、基本的な動作として、

  • httpでアクセスして、中にあるhttpsの画像はOK
  • httpsでアクセスして、中にあるhttpの画像はNG

ということで、最初にページ内のhttpをhttpsに変更し、一番最後に.htaccessでのリダイレクトをすることにしました。

2.サイトURLの変更

MT管理画面の「設定」→「全般」の「サイトURL」を「http://」から「https://」に変更。これでサイト内記事へのリンクはすべて変更。

サイトURL

MT6までの場合は、ウェブサイトの「設定」→「全般」→「ウェブサイトURL」で変更(ブログの「ブログURL」ではプロトコルを変更できないので注意)。

3.記事内のimg要素・a要素の変更

記事に含まれる、a要素およびimg要素等に含まれるサイト内のURL、

http://www.koikikukan.com/

https://www.koikikukan.com/

に変更。

プロトコルを表記しない、

//www.koikikukan.com/

に変更する案も考えましたが、調べたところ、Googleで非推奨ということを知り、httpsを明記。

参考:Google HTML/CSS Style Guide()

Always use HTTPS (https:) for images and other media files, style sheets, and scripts, unless the respective files are not available over HTTPS.
 
<!-- Not recommended: omits the protocol -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
 
<!-- Not recommended: uses HTTP -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<!-- Recommended -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>

4.canonicalの変更

link要素の"rel=canonical"は、インデックスして欲しいURLを検索エンジンに伝える役割があるようです。

変更前

<link rel="canonical" href="http://www.koikikukan.com/" />

変更後

<link rel="canonical" href="https://www.koikikukan.com/" />

実際はMTタグで表現しているので自然体で変更。

5.jsファイルのURL変更

ここまでの変更でhttpsでアクセスすると、jQueryで埋め込んでいた折りたたみが動作しなくなったので、Chromeのコンソール機能でエラーを確認し、該当のjsファイルに直書きしているURLのhttp://をhttps://に変更。

例えば、

変更前

var calendar_url = "http://www.koikikukan.com/";

変更後

var calendar_url = "https://www.koikikukan.com/";

6.その他のURL

テンプレートファイルのアドセンスに含まれる"http://"を"https://"に変更。

Amazonアソシエイトのリンクはhttpsに変更するとエラーになるため放置。

7.サイトマップの追加

Google Search Consoleに読み込ませるサイトマップ(sitemap.xml)を出力。

厳密には、"http://"で出力されているサイトマップはそのままにして、インデックステンプレートで生成するサイトマップのファイル名を、別のファイル名(sitemap2.xml等)に変更して再構築。

Google Search Consoleは、"http//www.koikikukan.com/"で登録していプロパティは、https用に移行できないため、"https//www.koikikukan.com/"のプロパティを新たに追加し、そこに前述のサイトマップを指定します。

8.再構築

ここまでの作業で個別に"https://"指定でブログのトップページや記事ページが概ね正常に表示されることを確認し。すべてのページを再構築。

この時点では、外部から"http://"でアクセスされても表示が崩れることはありません。

ただし、アクセスされたページから、さらに他のサイト内ページに遷移すると、"https"//でのアクセスになります。

9..htaccessでのリダイレクト

最後にHTTPからHTTPSにリダイレクトするために、.htaccessに下記のディレクティブを追加。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

追加したあと、ブラウザから"http://"でアクセスして、"https://"にリダイレクトされることを確認。

10.おまけ

HTML要素のxmlnsをprefixに変更しました。

変更前

<html lang="ja"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="http://www.facebook.com/2008/fbml">

変更後

<html lang="ja"
      prefix="og: http://ogp.me/ns#"
      prefix="fb: https://ogp.me/ns/fb#"">

11.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Linuxにnkfをインストールする方法

April 22,2021 11:55 PM
Category:[Linux]
Tag:[Linux, nkf]
Permalink

Linuxにnkfをインストールする方法を紹介します。

1.はじめに

nkfは「Network Kanji Filter」の略で、ターミナル上で文字コード変換やURIエンコード等が行える便利ツールです。

2.nkfのインストール

公式サイトの「Download」より、nkfの最新版のアーカイブをダウンロード(2021年4月時点の最新版はnkf-2.1.5.tar.gz)。

https://osdn.net/projects/nkf/

アーカイブをLinuxサーバにアップロード。

ターミナルでログインし(以下rootユーザー)、アーカイブを展開します。

[root@www123i ~]$ tar -zxvf nkf-2.1.5.tar.gz
nkf-2.1.5/
nkf-2.1.5/nkf32.h
nkf-2.1.5/.gitignore
nkf-2.1.5/Makefile
nkf-2.1.5/nkf.1
nkf-2.1.5/INSTALL
 :
nkf-2.1.5/NKF.mod/Makefile.PL
nkf-2.1.5/NKF.mod/README
nkf-2.1.5/NKF.mod/MANIFEST
nkf-2.1.5/man/make_doc.sh
nkf-2.1.5/man/nkf.1.pm
nkf-2.1.5/man/nkf.1j.pm

アーカイブしたディレクトリに移動

[root@www123 ~]$ cd nkf-2.1.5

"make"を実行。

[root@www123 nkf-2.1.5]# make
cc -g -O2 -Wall -pedantic -c nkf.c
cc -g -O2 -Wall -pedantic -c utf8tbl.c
cc -g -O2 -Wall -pedantic  -o nkf nkf.o utf8tbl.o

"make install"を実行。

[root@www123 nkf-2.1.5]# make install
mkdir /usr/local/bin
mkdir: cannot create directory `/usr/local/bin': File exists
make: [install-main] Error 1 (ignored)
cp -f nkf /usr/local/bin/
mkdir /usr/local/man
mkdir /usr/local/man/man1
cp -f nkf.1 /usr/local/man/man1/
mkdir /usr/local/man/ja
mkdir /usr/local/man/ja/man1
cp -f nkf.1j /usr/local/man/ja/man1/nkf.1

これでインストール完了です。

3.テスト

URIエンコードのテストを行います。

[root@www123 nkf-2.1.5]# echo 'テスト' | nkf -WwMQ | tr = %
%E3%83%86%E3%82%B9%E3%83%88
Comments [0] | Trackbacks [0]

新しく作ったサイトをGoogleに検索してもらう方法

April 19,2021 11:55 PM
Category:[Google検索]
Tag:[Google]
Permalink

新しく作ったサイトをGoogleに検索してもらう方法を紹介します。

これまでにサイトはいくつか登録したことがありますが、久しぶりの登録で手順を忘れてしまったので、最新の登録方法を備忘録で残しておきます。

1.問題点

ドメインを取得して新しいサイトを作りました。

ただ、作っただけではGoogle検索の検索対象になりません。

が、どうすればGoogle検索の検索対象になるのか分かりません。

ということで、新しく作ったサイトをGoogleに検索してもらう方法を紹介します。

2.新しく作ったサイトをGoogleに検索してもらう

新しく作ったサイトをGoogleに検索してもらうには、「Google Search Console」を利用します。

ここではGoogleアカウントを持っていて「Google Search Console」が利用できる状態で説明を進めます。

「Google Search Console」の左上のメニューをクリックして「プロパティを追加」をクリック。

プロパティを追加

「URLプレフィックス」に、登録したいドメインを設定します。

登録したいドメインを設定

「続行」をクリック。

続行

HMTLファイルをダウンロードします。

登録したいドメインを設定

ダウンロードしたHTMLファイルを登録したいドメインにアップロードします。

アップロード後、「確認」をクリック。

確認

「所有権を証明しました」と表示されれば設定完了です。

所有権を証明しました

登録後、すぐにはクロールされませんので、1日程度待ちましょう。

Comments [0] | Trackbacks [0]

bashでbackspaceが動作しない場合の対処

April 11,2021 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashでbackspaceが動作しない場合の対処方法を紹介します。

1.問題点

入力した文字を表示するという、簡単なスクリプト(test.sh)を作ってみました。

#!/bin/bash
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done

このスクリプトで入力した文字をbackspaceで削除しようとすると、"^H"が表示されます。

# ./test.sh
>abc^H^H^H

ということで、bashでbackspaceが動作しない場合の対処方法を紹介します。

2.原因

まず、"stty -a"を入力して、端末設定を表示(抜粋)します。

# stty -a
speed 38400 baud; rows 24; columns 98; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;

1文字消去のキーバインドは、

erase = ^?;

となっていますが、bashのbackspaceは"^H"が割り当てられています。

このため、backspaceを押下しても、割り当てられたキーが存在しないため、1文字消去ではなく、"^H"がそのまま表示されると思われます。

3.対処

スクリプト実行時にsttyコマンドを実施して、eraseのキーバインドをbackspaceに変更します。

#!/bin/bash
 
stty erase '^H'
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done

追加するのは、

stty erase '^H'

の部分で、"^H"はシングルクォーテーションで括ります。

あるいはそのままの文字を入力したい場合、クォートせずに、Ctrl-v → Ctrl-hを入力します。

3.元のキーバインドに戻す

スクリプト内で設定したキーバインドは、終了後のターミナルに伝播されませんが、何らかの原因で戻らない場合、スクリプトの最後に、

stty sane

あるいは、

stty erase '^?'

を入力します。

#!/bin/bash
 
stty erase '^H'
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done
 
stty sane

'^?'を直接入力したい場合は、クォートせずに、Ctrl-v → Ctrl-8を入力します。

Comments [0] | Trackbacks [0]

Workflowプラグインバージョンアップ(承認・差し戻し時の承認者へのCcメール追加等)

March 31,2021 11:55 PM
Category:[ワークフロー]
Tag:[MovableType, Plugin, Workflow]
Permalink

Movable Typeで承認ワークフローを実現する「Workflowプラグイン」をバージョンアップしました。

1.機能追加内容

承認時の承認メールをライターのみでなく、承認者にもCcで送信できる機能を追加しました。差し戻しメールについても、承認者にCcでの送信を選択できます。

Ccメールの送信する・しないは、承認者編集画面で承認順位別に行えます。

設定状態は承認者一覧画面で確認できます。

(クリックで拡大)

また、ライターや承認者が承認依頼する際の承認者の表示名を「ユーザー名」「表示名」から選択できるようにしました。

システム管理画面の設定画面

サイト別のプラグイン設定画面で設定することも可能です。

「ユーザー名」を半角英数、「表示名」を全角で運用している場合の表示は次のようになります。

「ユーザー名」を選択した場合の承認依頼画面

「表示名」を選択した場合の承認依頼画面

2.対象グレード

機能追加対象のグレードは、MT7の

  • 多段階承認版
  • 多段階承認版+日時指定版
  • 多段階承認+グループ・複数承認版

になります。

3.プラグインの詳細

Workflowプラグインの詳細については下記のリンクからどうぞ。

Workflowプラグイン
Workflowプラグイン

Comments [0] | Trackbacks [0]

MySQLで「The used SELECT statements have a different number of columns」となる場合の対処

March 30,2021 11:55 PM
Category:[MySQL]
Tag:[MySQL]
Permalink

MySQLで「The used SELECT statements have a different number of columns」となる場合の対処について紹介します。

1.問題点

MySQLで2つのテーブルを作りました、

mysql> create table foo ( id int, name varchar(32) );
 
Query OK, 0 rows affected (0.20 sec)
 
mysql> create table bar ( id int, name1 varchar(32), name2 varchar(32) );
Query OK, 0 rows affected (0.18 sec)
  :
(略)
  :
mysql> select * from foo;
+------+------+
| id   | name |
+------+------+
|    1 | aaa  |
|    2 | bbb  |
+------+------+
2 rows in set (0.00 sec)
 
mysql> select * from bar;
+------+-------+-------+
| id   | name1 | name2 |
+------+-------+-------+
|    1 | xxx1  | xxx2  |
|    2 | yyy1  | yyy2  |
+------+-------+-------+
2 rows in set (0.00 sec)

UNIONを使って2つのテーブルを結合し、表示させようとすると、「The used SELECT statements have a different number of columns」というエラーになります。

ということで、MySQLで「The used SELECT statements have a different number of columns」となる場合の対処方法を紹介します。

2.原因

エラーメッセージの内容より、SELECTで表示させるカラム数が異なっていることが原因です。

3.対処

SELECTで表示させるカラム数を一致させます。

(クリックで拡大)

Comments [0] | Trackbacks [0]

Movable TypeのDataAPIで「403 Forbidden」になる場合の対処

March 22,2021 11:55 PM
Category:[DataAPI]
Tag:[DataAPI, MovableType]
Permalink

Movable TypeのDataAPIで「403 Forbidden」になる場合の対処方法を紹介します。

1.問題点

MTから記事のタイトル一覧を取得するスクリプトを作成しました。

<script src="http://.../mt-static/data-api/v3/js/mt-data-api.min.js"></script>
<script type="text/javascript" src="http://.../mt-static/jquery/jquery.min.js?v=7.1.4"></script>
<script>
var api = new MT.DataAPI({
    clientId: 'foo',
    baseUrl: 'http://.../cgi-bin/mt/mt-data-api.cgi',
    format: 'json',
    async: true,
});
siteId=1;
api.listEntries(siteId, function(response) {
  if (response.error) {
    // エラー処理
    jQuery('#result').append($('<li>').append(response.error.code + ":" + response.error.message));
    return;
  }
 
  for (var i = 0; i < response.items.length; i++) {
      var entry = response.items[i];
      jQuery('#result').append($('<li>').append(response.items[i].title));
  }
});
</script>
<div id="result"></div>

が、実行すると、

403:Forbidden

となります。

スクリプトは問題ないと思いますが原因が分かりません。

ということで、DataAPIで「403 Forbidden」になる場合の対処方法を紹介します。

2.原因

MTでDataAPIの利用が有効になっていないのが原因として考えられます。

3.対処

DataAPIを利用したいサイトの「設定」→「Webサービス」をクリック。

「Data API のアクセスを許可する。」をチェックして「変更を保存」をクリック。

これで冒頭のスクリプトが正常に動作するようになります。

4.その他

システム関連のデータにアクセスする場合は、システム管理画面の「設定」→「Webサービス」をクリックして、「システム全般での Data API の利用を許可する。」をチェックして「変更を保存」をクリック。

これでシステム関連のデータにアクセスできるようになります。

なお、認証が必要なデータにアクセスする場合は「Movable Type Data APIの使い方:authenticate()」の設定を追加してください。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages