Midnightjapan

Programing

PHP5 PEAR:SMTP送信について

by jun on 10月.27, 2016, under PHP, Programing

PHPのバージョンを5.6.8にバージョンアップしたためPEARライブラリもアップデートしました。
すると突然、こんなエラーが。

pear mail authentication failure [SMTP: STARTTLS failed (code: 220, response: ready for tls)]

なにも変更していないんだが・・・・。
pearとmailライブライをあさってみたがなかなかいい情報がなく、TLSで探してみるとありました。

http://osticket.com/forum/discussion/3422/failed-to-configure-email-smtp-settings

どうもPHP5.1.0以上はTLS必須にしているらしいです。
なるほど、というわけで
PEAR>Net>SMTP.php
私の場合は463行目(pearのバージョンによると思います)

if (version_compare(PHP_VERSION, '5.1.0', '>=') && isset($this->_esmtp['STARTTLS'])) {
if (PEAR::isError($result = $this->_put('STARTTLS'))) {
↓
if (version_compare(PHP_VERSION, '6.1.0', '>=') && isset($this->_esmtp['STARTTLS'])) {
if (PEAR::isError($result = $this->_put('STARTTLS'))) {

こんな風に直してやったらちゃんと動作しました。
めでたしめでたし。

コメントなし more...

MySQL AUTO_INCREMENTを下げる

by jun on 7月.04, 2016, under Mysql, Programing

MySQL 5.5.48ストレージエンジンはInnoDBにてAuto_Increment値を上にあげるのは
mysql > show table status like ‘テーブル名’\G
mysql > ALTER TABLE テーブル名 AUTO_INCREMENT = 50000;
などで変更される。今回はたまたま1から256まで入っていたデータ移行は10000以上にしようとAuto_Increment値をあげておいたデータに対して、10000以上のデータは消して257から入れたい!と思ったときにこうしました。
mysql > ALTER TABLE テーブル名 AUTO_INCREMENT = 257;
実行上はOKとでるので調べてみると
*************************** 1. row ***************************
Name: テーブル名
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1103
Avg_row_length: 2391
Data_length: 2637824
Max_data_length: 0
Index_length: 1474560
Data_free: 72351744
Auto_increment: 32687
Create_time: 2016-07-04 12:19:54
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.02 sec)
と、まったくかわっていません。MySQLでは最大値+1以外の設定はできないそうです。
そこで10000以上のコンテンツはdeleteしました。
これでデータ上でもmax(id)は257になっています。
ここで以下を実行してみると
mysql > ALTER TABLE テーブル名 AUTO_INCREMENT = 257;
やはりかわりません。
答えはこうです。
mysql > ALTER TABLE テーブル名 AUTO_INCREMENT = 1;
こうすると最大値+1を計算してくれるようです。
要するにAUTO_INCREMENT値のリセットを行ったようです。

コメントなし :, more...

Eclipse “compute launch button tooltip error”の解消について

by jun on 6月.09, 2016, under Eclipse, Programing

Eclipseの開発環境構築がほぼデフォルトになってきた今日この頃、起動時に”compute launch button tooltip error”なるが発生するようになった。
実害もなくエラーがでるだけであったため放置していたが、開発が大詰めになるとエラーがきになってくるもの。
そこで意外と簡単に解消できたため、記録として残す。
環境は以下の通り。開発Java、Javascript、PHP、あいかわらずWEBオープンソース系開発がメイン。
Eclipse 4.2 Juno
+ Pleiades 1.4.2 : 日本語対応プラグイン
+ JStyle : 日本語対応コード表示設定プラグイン
+ PDT : PHP開発環境
+ JDT + JDK1.7 : Java7 Java Server Side 開発環境
+ Eclipse Tomcat Plugin : Tomcat コントロールプラグイン
+ Aptana Studio : WEB拡張プラグインおもにファイル送信
+ DB Viewer : DB管理プラグインおもにMySQLの管理
+ Subversive Subversion Plugin : SVN1.7+JDTプライグインでソース管理
なにが原因かわからないのが痛いところ、SVNで資源もってきてPHPやらJavaのローカルデバッグ環境を整備していたらエラーが表示された。
そんなときの解決策はダブルクリック一発!

eclipse.exe -clean.cmd

eclipse.exe -clean.cmd

これだけでスッキリ解消しました。
別のPythonとJava8の環境ではこんなエラーでないんだけどなぁ。いずれ詳しく調査したいと思います。

コメントなし more...

特定のアプリケーションの選択内にネットワークドライブが表示されない

by jun on 7月.12, 2015, under Programing, VB, Windows

Windowsのアプリケーションを開発していると開発言語やWindowsのバージョンや権限によって動作が変わってきたりして、問題の切り分けに時間がかかります。この問題もその一つで、できあがったアプリからフォルダー選択などをしてもらうウィンドウを表示した際に、すでに登録済みのネットワークドライブが表示されなくて、問題の切り分けに時間がかかりました。

そんな時のおまじないです。

レジストリエディタを使います。

  1. regedit を起動します。
  2. 以下まで遷移します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  3. [新規作成]DWORD 値 をクリックし「EnableLinkedConnections」を入力する。
  4. EnableLinkedConnections、右クリックし、[値のデータ] ボックスに 「1」 と入力し[ok] をクリックします。
  5. コンピュータを再起動します。

これでアプリ側のファイルリストのPCの中にネットワークドライブが表示されました。UACの仕様のようですが、詳しくは別途Google先生に聞いてみて下さい。

コメントなし more...

Eclipse 4.4 Luna を MacOSX 10.9.5(Marvericks)にセットアップする

by jun on 1月.25, 2015, under Apple, Eclipse, Mac OS X, Programing

古い情報から新しい情報まで探すと、色々やれと書いてあるけど、やってみた結果これだけやれば大丈夫!という最短ルートがやっとわかった。こんな苦労はできるだけなくなってほしいので、参考まで掲載する。

ちなみにMacで最新のEclipse 4.4.1を使うとAptanaインストール後にエラーがでます。4.4と4.4.1は似てるので注意!

調べたけど、バグのようなのでできたら4.4をお勧めします。

  1. JavaVMのバージョンを確認する。 MacOSXの場合はJavaがOS管理になっているため勝手にインストールされている。 しかし、1.6.0までしか入っていないためEclipse 4.4 Lunaは 1.7.0以上が必要なため動かない。 さらに、OracleのJavaをいれてあってもパスが通っていないため実行されているのは1.6.0だったりする。 ここがすごくはまったので、皆様ご注意をJavaVMの環境さえ整っていればそんなに手間はかかりません。
    $ java -version
    java version "1.7.0_75"
    Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

    こう帰ってきたら、Javaの設定は不要です。2の手順は飛ばしてください。

    以下のようになったら2に進んでください。たとえコントロールパネルのJavaにJava 1.7.0が入っていたとしても無駄です。

    $ java -version
    java version "1.6.0_51"
    Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
    Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
  2. OracleからJavaをインストールする!バカくさいけどとっても楽なのでおすすめです。
    1. http://www.java.com/jdk/にアクセス
    2. 以下のように記載のある「JDK Downloads」をクリック
      Where can I get JDK download?
      To download the latest version of the Java Development Kit (JDK), go to?JDK downloads.
    3. Java SE 7u75/76の欄にあるJDK Downloadをクリックして「jdk-7u75-macosx-x64.dmg」をダウンロード
    4. インストールして再起動してください。

    ※どうしてもシンボリックリンクとかいま入っているJavaを最新化したいなら以下のサイトを参考にしてください。とても親切に書いてありました。
    Macにjava 1.7.0をインストール

  3. Eclipse 4.4 Lunaをダウンロードしてインストール(これは星の数程サイトがあるので割愛します)、お好みに応じてPleiadesもいれて日本語化してください。注意としては最初のウィザードを起動しない事。起動すると英語環境のプロジェクトを作成してデフォルトにしてしまうとずっと英語のワークスーペースになって何が問題なのかわからなくなるからです。
  4. 日本語化した人はこの手順が必要です。Eclipseを右クリックして「パッケージ内容の表示」を選択、Contents>MacOSとすすみ、「eclipse.ini」を編集する。一番下の行に以下を追加する。この時、絶対パスである必要があります。※かならずインストールした環境あわせて読み替える事。-javaagent:/Applications/Eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
  5. コマンドプロンプトを開き、EclipseをCleanする。このときのユーザーは実行するユーザーで行う事。まちがってRootで実行するとユーザーからアクセスできないファイルができてしまい、起動できなくなります。$/Applications/Eclipse4.4/Eclipse -clean

いまのところまったく同じ環境がであれば、この手順が最短です。

コメントなし :, , , , , more...



何かお探しですか?

以下にキーワードを入力してサイト内検索が可能です:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!