スキップしてメイン コンテンツに移動

php_openssl.dllが有効にならない

Linuxマシンの電源が壊れたのに伴い、以前ほどサーバを活用していないし、しばらくはAndroidというこで、Linuxマシンで使ってたパーツはもう一台のWindowsマシンに統合しました。サーバを大して使ってないとは言え、自作のWebアプリでタスク管理とかしてて、それで日報とか付けてたので、そのWebアプリをWindowsマシンに移植するべく、WindowsにApache+PHP+PostgreSQLの環境を構築にあたり大ハマりをしました。

OpenSSLが有効にならない....

設定の見落としてた部分をメモしておきたいと思います。

[環境]
  • OS:Windows XP
  • Apache:httpd-2.2.22-win32-x86-openssl-0.9.8t.msiによるインストール
  • PHP:php-5.2.17-Win32-VC6-x86.msiによるインストール
OpenSSLが有効になってい判定材料
  • phpinfo()にopensslという文言がない
  • Zend Framworkの判定ツールで、「openssl extension missing」というエラー
ちなみに、Zend Frameworkの判定はこちらを利用。

OpenSSLをどうやって有効にするか、ググって出てくるのは、ほぼphp.iniの
extension=php_openssl.dllのコメントを外せ!
いや、そもそも、その文言がない....基本的に、設定ファイルにないなら追加すればOKなはずなのですが、一向に変化がない上に、どこをググってもコメントを外せ!なのでデフォルトで書かれているものが書かれていないということが問題だという結論にいたり、インストールの問題だと思いますが、PHP 5.3をダウンロードしてインストールすることにしました。
・PHP For Windows: Binaries and sources Releases
http://windows.php.net/download/
php-5.3.22-nts-Win32-VC9-x86.msi

5.3.22の Thread Safe版です。これをインストールすると、PHPディレクトリにextディレクトリが作成され、その中にphp_openssl.dllを発見!そして、php.iniの中にextension=php_openssl.dllがある!(最初からコメントは外されている)
これでイケる!!と思ったのですが、Apacheのhttpd.conf以下2点見落としてました。
  1. PHPIniDirのディレクトリが間違っている
  2. LoadModule ssl_module modules/mod_ssl.soのコメントをはずす
1つ目が致命的というか、いくらphp.iniをいじっても何も変りません...ってことに気付くのに時間がかかりました。だってphpinfo()自体は問題なさそうに表示しているので。確認するには、適当にphp.iniの何か値、何でもいいんですけど、max_inpu_time = 60の値を変えてApacheをリスタートしてみて、phpinfo()に変化がなければ、この設定が怪しいとみて良いんじゃないでしょうか。

2つ目の症状としては、これをやっていないと、phpinfo()でOpenSSLの欄がdisableになっています。コメントを外して、Apacheリスタートでようやく有効になりました。


コメント

このブログの人気の投稿

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseの高速化メモ

Eclipseが重いと一言に言っても、いろいろな工程での話があると思いますが、過去記事のなども含めてこの記事にピックアップしておきたいと思います。以下はWindows環境での話です。