refactor pecl? in pear provider