title: PECL OAuth 1.2.3 for PHP 5.6 on CentOS 6
body: <p>My Set up: </p>
  
  <ul>
  <li>CentOS 6 </li>
  <li>PHP 5.6.30</li>
  <li>EasyApache 3.34.11 (Configured using cPanel &amp; WHM)</li>
  <li>Apache 2.4.25</li>
  <li>MySQL 5.5.52</li>
  </ul>
  
  <p>I am currently attempting to get Oauth 1.2.3 installed (In order to use the Quickbooks Online API) on my installation but am running into problems attempting to get it installed.</p>
  
  <p>I ran:</p>
  
  <pre><code>cd /usr/local
  curl -OL https://pecl.php.net/get/oauth-1.2.3.tgz
  tar xvzf oauth-1.2.3.tgz
  cd oauth-1.2.3
  phpize
  ./configure
  make
  </code></pre>
  
  <p>And get:</p>
  
  <pre><code>root@mywebsite [/usr/local/oauth-1.2.3]# phpize
  Configuring for:
  PHP Api Version:         20131106
  Zend Module Api No:      20131226
  Zend Extension Api No:   220131226
  
  root@mywebsite [/usr/local/oauth-1.2.3]# ./configure
  checking for grep that handles long lines and -e... /bin/grep
  checking for egrep... /bin/grep -E
  checking for a sed that does not truncate output... /bin/sed
  checking for cc... cc
  checking for C compiler default output file name... a.out
  checking whether the C compiler works... yes
  checking whether we are cross compiling... no
  checking for suffix of executables... 
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether cc accepts -g... yes
  checking for cc option to accept ISO C89... none needed
  checking how to run the C preprocessor... cc -E
  checking for icc... no
  checking for suncc... no
  checking whether cc understands -c and -o together... yes
  checking for system library directory... lib
  checking if compiler supports -R... no
  checking if compiler supports -Wl,-rpath,... yes
  checking build system type... x86_64-unknown-linux-gnu
  checking host system type... x86_64-unknown-linux-gnu
  checking target system type... x86_64-unknown-linux-gnu
  checking for PHP prefix... /usr/local
  checking for PHP includes... -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib
  checking for PHP extension directory... /usr/local/lib/php/extensions/no-debug-non-zts-20131226
  checking for PHP installed headers prefix... /usr/local/include/php
  checking if debug is enabled... no
  checking if zts is enabled... no
  checking for re2c... no
  configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
  checking for gawk... gawk
  checking for oauth support... yes, shared
  checking for cURL in default path... cURL not found
  checking for ld used by cc... /usr/bin/ld
  checking if the linker (/usr/bin/ld) is GNU ld... yes
  checking for /usr/bin/ld option to reload object files... -r
  checking for BSD-compatible nm... /usr/bin/nm -B
  checking whether ln -s works... yes
  checking how to recognize dependent libraries... pass_all
  checking for ANSI C header files... yes
  checking for sys/types.h... yes
  checking for sys/stat.h... yes
  checking for stdlib.h... yes
  checking for string.h... yes
  checking for memory.h... yes
  checking for strings.h... yes
  checking for inttypes.h... yes
  checking for stdint.h... yes
  checking for unistd.h... yes
  checking dlfcn.h usability... yes
  checking dlfcn.h presence... yes
  checking for dlfcn.h... yes
  checking the maximum length of command line arguments... 1966080
  checking command to parse /usr/bin/nm -B output from cc object... ok
  checking for objdir... .libs
  checking for ar... ar
  checking for ranlib... ranlib
  checking for strip... strip
  checking if cc supports -fno-rtti -fno-exceptions... no
  checking for cc option to produce PIC... -fPIC
  checking if cc PIC flag -fPIC works... yes
  checking if cc static flag -static works... yes
  checking if cc supports -c -o file.o... yes
  checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
  checking whether -lc should be explicitly linked in... no
  checking dynamic linker characteristics... GNU/Linux ld.so
  checking how to hardcode library paths into programs... immediate
  checking whether stripping libraries is possible... yes
  checking if libtool supports shared libraries... yes
  checking whether to build shared libraries... yes
  checking whether to build static libraries... no
  
  creating libtool
  appending configuration tag "CXX" to libtool
  configure: creating ./config.status
  config.status: creating config.h
  
  root@mywebsite [/usr/local/oauth-1.2.3]# make
  /bin/sh /usr/local/oauth-1.2.3/libtool --mode=compile cc  -I. -I/usr/local/oauth-1.2.3 -DPHP_ATOM_INC -I/usr/local/oauth-1.2.3/include -I/usr/local/oauth-1.2.3/main -I/usr/local/oauth-1.2.3 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2 -Wall -g   -c /usr/local/oauth-1.2.3/oauth.c -o oauth.lo 
  mkdir .libs
   cc -I. -I/usr/local/oauth-1.2.3 -DPHP_ATOM_INC -I/usr/local/oauth-1.2.3/include -I/usr/local/oauth-1.2.3/main -I/usr/local/oauth-1.2.3 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -Wall -g -c /usr/local/oauth-1.2.3/oauth.c  -fPIC -DPIC -o .libs/oauth.o
  In file included from /usr/local/oauth-1.2.3/php_oauth.h:47,
                   from /usr/local/oauth-1.2.3/oauth.c:14:
  /usr/local/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory
  In file included from /usr/local/oauth-1.2.3/php_oauth.h:47,
                   from /usr/local/oauth-1.2.3/oauth.c:14:
  /usr/local/include/php/ext/pcre/php_pcre.h:37: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
  /usr/local/include/php/ext/pcre/php_pcre.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
  /usr/local/include/php/ext/pcre/php_pcre.h:44: error: expected specifier-qualifier-list before ‘pcre’
  /usr/local/oauth-1.2.3/oauth.c: In function ‘oauth_compare_key’:
  /usr/local/oauth-1.2.3/oauth.c:507: warning: assignment discards qualifiers from pointer target type
  /usr/local/oauth-1.2.3/oauth.c:516: warning: assignment discards qualifiers from pointer target type
  make: *** [oauth.lo] Error 1
  </code></pre>
  
  <p>I found this question where they said the Perl 5 Compatible Regular Expression Library wasn't installed: <a href="https://stackoverflow.com/questions/22772854/attempting-to-install-oauth-on-ubuntu-but-getting-errors">Attempting to install OAuth on Ubuntu but getting errors</a>, but after running <code>yum install pcre.x86_64</code>, it said <code>Package pcre-7.8-7.el6.x86_64 already installed and latest version</code>. So that isn't the problem.</p>
  
  <p><a href="https://stackoverflow.com/questions/8683884/pecl-oauth-for-php-5-3-on-centos-5">PECL OAuth for PHP 5.3 on CentOS 5</a> didn't solve my issue either as I am running the most up to date versions of PHP and MySQL.</p>
  
  <p>When I went into WHM, I only saw version 2.0.2 available under Software -> Module Installers -> PHP Pecl -> Manage -> oauth (2.0.2). However, according to the <a href="http://pecl.php.net/package/oauth/2.0.2" rel="nofollow noreferrer" title="PECL Website">PECL Website</a>, this version only works with PHP 7.0.0 or newer. I am using 5.6.30 on this server. And my hosting provider (whom I pay for managed support through) has stated they cannot help me because they cannot guarantee that installing Oauth 1.2.3 will not break cPanel.</p>