linux - php7安裝擴充報configure error

來源:互聯網
上載者:User
關鍵字 php linux centos openssl

今天安裝php7的mysql擴充時碰到一個問題,麻煩路過的大神們看下有沒有遇到的,請教一下。
問題如下:

百度、Google的結果大多都是說安裝openssl-devel,但是在我這好像無效。

並且,/usr/include/下存在openssl相關標頭檔,但是在configure的時候找不到。試了下cp份到php的includes-dir下面,但是好像還是不行。

下面是php-config和openssl,請求路過大神指教,謝謝~

回複內容:

今天安裝php7的mysql擴充時碰到一個問題,麻煩路過的大神們看下有沒有遇到的,請教一下。
問題如下:

百度、Google的結果大多都是說安裝openssl-devel,但是在我這好像無效。

並且,/usr/include/下存在openssl相關標頭檔,但是在configure的時候找不到。試了下cp份到php的includes-dir下面,但是好像還是不行。

下面是php-config和openssl,請求路過大神指教,謝謝~

文章就這樣沉了嗎?

錯誤:configure: error: libevent >= 1.4.11 could not be found

解決:yum -y install libevent libevent-devel

錯誤:configure: error: Please reinstall the mysql distributio

解決:yum -y install mysql-devel

錯誤:make: * [sapi/fpm/php-fpm] error 1

解決:用make ZEND_EXTRA_LIBS='-liconv'編譯

錯誤:configure: error: XML configuration could not be found

解決:yum -y install libxml2 libxml2-devel

錯誤:configure: error: No curses/termcap library found

解決:yum -y install ncurses ncurses-devel

錯誤:configure: error: xml2-config not found

解決:yum -y install libxml2 libxml2-devel

錯誤:configure: error: Cannot find OpenSSL's

解決:yum install openssl openssl-devel

錯誤:configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/

解決:yum install curl curl-devel

錯誤:configure: error: Cannot find ldap.h

解決:yum install openldap openldap-devel

錯誤:configure: error: libjpeg.(a|so) not found

解決:yum install libjpeglibjpeg -devel

錯誤:configure: error: libpng.(a|so) not found.

解決:yum install libpnglibpng –devel

錯誤:onfigure: error: freetype.h not found.

解決:yum install freetype-devel

錯誤:configure: error: cannot find output from lex; giving up

解決:yum -y install flex

錯誤:configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

解決:yum -y install zlib-devel openssl-devel

錯誤:Configure: error: Unable to locate gmp.h

解決:yum install gmp-devel

錯誤:Configure: error: Cannot find MySQL header files under /usr.

Note that the MySQL client library is not bundled anymore!

解決:yum install mysql-devel

更多的補充內容:

安裝php: ./configure
configure: error: XML configuration could not be found

yum -y install libxml2 libxml2-devel

Cannot find OpenSSL's
yum install openssl openssl-devel

1) Configure: error: xml2-config not found. Please check your libxml2 installation.

yum install libxml2 libxml2-devel (For RedHat & Fedora)

aptitude install libxml2-dev (For Ubuntu)

2) Checking for pkg-config… /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's

yum install openssl openssl-devel

3) Configure: error: Please reinstall the BZip2 distribution

yum install bzip2 bzip2-devel

4) Configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/

yum install curl curl-devel (For RedHat & Fedora)

install libcurl4-gnutls-dev (For Ubuntu)

5) Configure: error: libjpeg.(also) not found.

yum install libjpeg libjpeg-devel

6) Configure: error: libpng.(also) not found.

yum install libpng libpng-devel

7) Configure: error: freetype.h not found.

yum install freetype-devel

8) Configure: error: Unable to locate gmp.h

yum install gmp-devel

9) Configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!

yum install mysql-devel (For RedHat & Fedora)

apt-get install libmysql++-dev (For Ubuntu)

10) Configure: error: Please reinstall the ncurses distribution

yum install ncurses ncurses-devel

11) Checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h' not found!

yum install unixODBC-devel

12) Configure: error: Cannot find pspell

yum install pspell-devel

13) configure: error: mcrypt.h not found. Please reinstall libmcrypt.

yum install libmcrypt libmcrypt-devel (For RedHat & Fedora)

apt-get install libmcrypt-dev

14) Configure: error: snmp.h not found. Check your SNMP installation.

yum install net-snmp net-snmp-devel

15)
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: * [sapi/cgi/php-cgi] Error 1

yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64

16)
為php編譯xcache模組的時候,需要運行phpize
得到了一個錯誤

/usr/local/php/bin/phpize

Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.
通過安裝 autoconf 可以解決
centos下執行 yum install autoconf 即可
Ubuntu下執行 apt-get install autoconf 即可
17)

/usr/local/php/bin/phpize

Cannot find config.m4.
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
修改方法:
[root@centos lnmp]# cd php-5.2.14ext/
[root@centos ext]# ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 config.w32 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].
To use your new extension, you will have to execute the following steps:

  1. $ cd ..

  2. $ vi ext/my_module/config.m4

  3. $ ./buildconf

  4. $ ./configure --[with|enable]-my_module

  5. $ make

  6. $ ./php -f ext/my_module/my_module.php

  7. $ vi ext/my_module/my_module.c

  8. $ make
    Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and

step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
[root@centos ext]# cd my_module/
[root@centos my_module]# vim config.m4
根據你自己的選擇將
dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [ --with-my_module Include my_module support])
修改成
PHP_ARG_WITH(my_module, for my_module support,
Make sure that the comment is aligned:
[ --with-my_module Include my_module support])
或者將
dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [ --enable-my_module Enable my_module support])
修改成
PHP_ARG_ENABLE(my_module, whether to enable my_module support,
Make sure that the comment is aligned:
[ --enable-my_module Enable my_module support])
[root@centos my_module]# vim my_module.c
  將檔案其中的下列代碼進行修改
/* Every user visible function must have an entry in my_module_functions[].
*/
function_entry my_module_functions[] = {
    PHP_FE(say_hello,    NULL) / ?添加著一行代碼 /
    PHP_FE(confirm_my_module_compiled,   NULL) / For testing, remove later. /
    {NULL, NULL, NULL}   / Must be the last line in my_module_functions[] /
};
  在檔案的最後添加下列代碼
PHP_FUNCTION(say_hello)
{
    zend_printf("hello sdomain!");
}
再修改:php_sdomain.h
vi php_sdomain.h
在PHP_FUNCTION(confirm_my_module_compiled ); / For testing, remove later. / 這行的下面添加一行:
PHP_FUNCTION(say_hello); / For testing, remove later. /
  儲存檔案退出
  然後我們就可以在這個目錄下使用上面的命令了
  /usr/local/php/bin/phpize
  執行以後會看到下面的
  [root@ns sdomain]# /usr/local/php/bin/phpize
  Configuring for:
  PHP Api Version:     20020918
  Zend Module Api No:   20020429
  Zend Extension Api No:  20050606
  [root@ns sdomain]#
  然後執行./configure --with-php-config=/usr/local/php/bin/php-config
  然後執行make
  make install
然後他會把對應的so檔案產生放到PHP安裝目錄下面的一個檔案夾,並提示在在什麼地方,然後再把裡面的SO檔案拷到你存放SO檔案的地方
  即你在php.ini裡面的extension_dir所指定的位置
  最後一步是你在php.ini檔案中開啟這個擴充
  extension=sdomain.so
  然後
  重新起動apache

以上錯誤都是在整個編譯安裝遇到的問題,然後結合網上的資料,找到的解決方案,總結到這個地方,希望能幫到大家!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.