masalibの日記

システム開発、運用と猫の写真ブログです

phpでexim: malformed・・・と表示されてしまう件

前提
OS:CentOS6.7
PHP:5.6

PHPのプログラムをコマンドラインで実行しているとエラーなのかWarningなのか
下記のメッセージが表示された

# php XXXXX.php
exim: malformed debug_selector setting: + or - expected but found "0.1"


・ω・何これ??

ググッてみると
uzulla.hateblo.jp

がヒットした!!

サーバーのメールのMTAを確認をした

alternatives --config mta

There is 1 program that provides 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.exim

(*´∀`*) おお!!これっぽい

修正前のqdmail.php

	function isQmail(){
		if(!is_null($this->is_qmail)){
			return $this->is_qmail;
		}
		$this->is_qmail = false;
		$ret = ini_get ( 'sendmail_path' );
		if(false !== strpos($ret,'qmail')){
			$this->is_qmail = true;
		}
		$sendmail_path = ini_get('sendmail_path');
		if(false !== @system($sendmail_path.' -d0.1 < /dev/null > /dev/null',$ret)){
			if(is_array($ret)){
				$ret = reset($ret);
			}
			$code = (int) substr($ret,0,3);
			if( 100 === $code || 111 === $code){
				$this->is_qmail = true;
			}
		}

		return $this->is_qmail ;
	}

修正後のqdmail.php

	function isQmail(){
		if(!is_null($this->is_qmail)){
		        return $this->is_qmail;
		}
		$this->is_qmail = false;
		return $this->is_qmail ;
	}

これでエラーなくなった!!
環境特有の問題みたい
兎にも角にもよかった!!

関連記事
masalib.hatenablog.com
masalib.hatenablog.com

今日の猫の画像
爆睡中のにゃーちゃん
f:id:masalib:20160909194040j:plain

死んでいるように寝るからビビるwww