Tag: PHP



2020年 3月 3

環境

  • macOS Catalina(10.15.3)
  • MAMP 3.0.7.3

なぜMAMP3.x?

MAMP4系以上はphp7が標準で、php5系を使うのが面倒そう。レガシー。

PHPのHTTPS通信、SSL暗号方式をTLS1.2に対応させてみた – ノラプログラマーの技術メモ にあるけど、

TLS1.2に対応するためには、cUrlのバージョンが7.34.0以上かつOpenSSLのバージョンが1.0.1以上でなければならない

これに対応するだけのために2日間つぶした。

手順

大体以下のページの通り

php – How to upgrade OpenSSL in MAMP – Stack Overflow
lunr/mamp-curl-tls: Instructions to upgrade MAMP to use OpenSSL 1.0.2 to support TLS 1.2 connections

  • post時点でbrewでインストール出来るopensslのバージョンは1.1.1で、上記手順ではうまく行かない。
  • MAMP3.0系ではcurlのバージョンが低すぎてうまく行かないため、3.5系にupgradeする必要がある

やったこと

程よいバージョンのMAMPとcurlとopensslが必要。高過ぎず低すぎず。

  • openssl 1.0.2のビルド&インストール
    • 1.0.1だとうまく行かない(うろ覚え)
  • ビルドしたopensslを使用したcurl 7.43.0のビルド&インストール

MAMP

Downloads (older versions) – MAMP & MAMP PRO

から3.5.2をダウンロード&インストール。

openssl

https://www.openssl.org/source/old/あたりから1.0.2のソースをダウンロード。
通常は使わないので、MAMP以下(/Applications/MAMP/Library/lib/openssl)にインストールしておく。

64bitなので./configureではなく./Configureを使わなくてはだめらしい。

cd ~/Downloads
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
tar zxvf openssl-1.0.2u.tar.gz

cd ~/Downloads/openssl-1.0.2
./Configure darwin64-x86_64-cc --openssldir=/Applications/MAMP/Library/lib/openssl

make
make install

curl

下準備

curlバージョン確認
https://github.com/lunr/mamp-curl-tls#3-check-the-curl-version-included-with-mamp

/Applications/MAMP/Library/bin/curl-config --version
libcurl 7.43.0

CA/CertificateをMAMPに設置する
https://github.com/lunr/mamp-curl-tls#5-download-ca–certificate-bundles-and-extract-into-mamp

cd ~/Downloads
wget https://github.com/lunr/mamp-curl-tls/raw/master/ca-bundle.tgz
tar zxvf ca-bundle.tgz -C /Applications/MAMP
curlをインストール

https://curl.haxx.se/download/から該当するバージョン(7.43.0)をダウンロード。

cd ~/Downloads
wget https://curl.haxx.se/download/curl-7.43.0.tar.gz
tar zxvf curl-7.43.0.tar.gz

cd ~/Downloads/curl-7.43.0
./configure --prefix=/Applications/MAMP/Library --with-ssl=/Applications/MAMP/Library/lib/openssl/ --with-ca-path=/Applications/MAMP/etc/openssl/certs --with-ca-bundle=/Applications/MAMP/etc/openssl/certs/ca-bundle.crt

make
make install

諦めたこと

  • brewで特定のバージョン(openssl)をinstall
    • gitログを辿ってやるしかないっぽい。面倒

雑感

モダンな開発環境に変えたい。


Filed under: インストールメモ,開発環境

Trackback Uri






2011年 9月 8

Live Commerceを使うのにはZend Optimizerが必要なのでインストールする。

CentOS5.5(32bit)
PHP 5.2.16

ダウンロード

ダウンロード場所がわかりにくいので注意
※Zend OptimizerをダウンロードするにはMyZendに登録する必要がある。
ゼンド・ジャパン株式会社

ダウンロード>Zend Guard>loader>linux>ZendOptimizer-3.x.x-linux-glibc23-xxx.tar.gz
※ xの部分はPHPのバージョンやOSによって異なる
当方の環境では ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz だった。

設置

ダウンロードしたファイルを解凍する。

$ tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

PHPのバージョンに対応した ZendOptimizer.so を /usr/lib/php/modules へ設置する。
※自分の環境では ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp の中にあるものを使用。

$ cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp
$ sudo mv ZendOptimizer.so /usr/lib/php/modules

php.iniの設定

# vi /etc/php.ini
追記
[Zend]
zend_extension=/usr/lib/php/modules/ZendOptimizer.so
zend_optimizer.optimization_level=15

Apache再起動

# service httpd restart

参考:

  • 【環境構築3】PHPをインストールする のんき者のシステム開発ノート(ってかメモ)/ウェブリブログ
  • Zend Optimizer のインストール | Linuxで自宅サーバ構築

  • Filed under: PHP,インストールメモ

    Trackback Uri






    2011年 3月 27

    remiリポジトリでphp5.3をyumでインストールしたけど、php5.2で動いていたスクリプトが動かない。
    困るのでphpをダウングレードする。

    php関連パッケージを調べる。

    # yum list installed | grep php*
    php.i386                               5.3.6-1.el5.remi                installed
    php-cli.i386                           5.3.6-1.el5.remi                installed
    php-common.i386                        5.3.6-1.el5.remi                installed
    php-gd.i386                            5.3.6-1.el5.remi                installed
    php-imap.i386                          5.3.6-1.el5.remi                installed
    php-ldap.i386                          5.3.6-1.el5.remi                installed
    php-mbstring.i386                      5.3.6-1.el5.remi                installed
    php-mcrypt.i386                        5.3.6-1.el5.remi                installed
    php-mysql.i386                         5.3.6-1.el5.remi                installed
    php-pdo.i386                           5.3.6-1.el5.remi                installed
    php-pear.noarch                        1:1.9.2-3.el5.remi              installed
    php-pgsql.i386                         5.3.6-1.el5.remi                installed
    php-xml.i386                           5.3.6-1.el5.remi                installed

    # yum remove php*
    だと、全てのパッケージが削除されない?ようなので、手動設定でパッケージを削除。

    # yum remove php php-cli php-common php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysql php-pdo php-pear php-pgsql php-xml

    ※ /etc/php.ini は /etc/php.ini.rpmsave として保存される。 .. continue reading ..


    Filed under: CentOS5.x,PHP,サーバ管理

    Trackback Uri






    2011年 3月 24

    PHP5.3にしたらOpenPNEでエラーが発生。
    このようなエラー。

    Deprecated: Assigning the return value of new by reference is deprecated in /var/www/html/OpenPNE/lib/include/PEAR.php on line 569
    
    Deprecated: Assigning the return value of new by reference is deprecated in /var/www/html/OpenPNE/lib/include/PEAR.php on line 572
    
    以下(ry

    PEAR使ってる状態でPHPのバージョンを上げると、PEARから上記エラーが出てくる場合がありますが・・・
    これは、PHP5では、newすると参照になるのに、それを =& でさらに参照で受け取ろうとしてエラーが出ている模様。
    消す方法はいくつかあります。
    1. error_reportingで表示しないようにする。
    error_reporting(E_ALL & ~E_DEPRECATED);

    2. エラーの出ている場所を修正する。
    エラー箇所のソースを読むと、 =& になっているので = に変更。

    参照:為せば成る・・・かもしれない

    と言うことなので、OpenPNEのconfig.phpを修正する。
    PHPの仕様が変更されたので出る警告らしい。
    エラーは消えるけど、将来的にはソースを変更した方がいいのかも。

    OpenPNE_DIR/config.php 236行目付近(バージョンによって違うかも)

    ///
    // デバッグ、エラーハンドリング、ログ設定
    ///
    
    //error_reporting(E_ALL ^ E_NOTICE); ←コメントアウト
    error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE); ←追記

    OpenPNEの不具合

    get@hoge.com (空メールで登録用URLを送信するアドレス)へ送ってもメールが帰ってこない。
    オープン制の場合はスクリプトの修正が必要かも。
    日記のメール投稿やコミュニティの投稿などは出来るようだ。


    Filed under: OpenPNE

    Trackback Uri






    2010年 12月 27

    remiリポジトリの導入

    MySQL5.1、PHP5.3 をインストール

    # yum --enablerepo=remi install mysql

    phpMyAdminで必要な php-mcrypt 等をインストール

    # yum --enablerepo=remi install php-mcrypt php-xml

    httpd-devel が必要だったのでインストール

    # yum --enablerepo=remi install httpd-devel

    Filed under: インストールメモ

    Trackback Uri