1. 程式人生 > >linux下php擴充套件curl的安裝

linux下php擴充套件curl的安裝

背景,在一段模擬curl的php程式程式碼出現了 Fatal error: Call to undefined function curl_init(), 經過查詢原因,發現了是php在安裝時配置configure沒有擴充套件curl外掛,那麼有啥方法可以解決這個問題呢 1、常規方法 首先安裝curl這個肯定是少不了的 [[email protected] openssl]# cd /home/cqs/source/ [[email protected] source ]#tar -xvzf curl-7.17.1.tar.gz [[email protected] curl-7.17.1 ]# ./configure --prefix=/usr/local/curl-7.17.1/ [
[email protected]
curl-7.17.1 ]# make [[email protected] curl-7.17.1 ]# make install 這樣就在linux安裝好了curl軟體了,不管是常規方法還是其他方法這一步是一定要做的 接下來,我們就是進行重新配置、編譯、安裝php,主要是在配置的時候加上--with-curl=/usr/local/curl即可 2、方法二 我們不可能在php安裝時就知道要安裝多少軟體包,多少肯定是因需而定,是不是有方法可以在已經安裝的Php上增加其他軟體包的擴充套件呢,答案是肯定的。 下面以curl為例: [[email protected]
curl-7.17.1 ]# cd /usr/local/ [[email protected] local]# ls php #我們看到本地已經安裝了php程式,而php正在執行中,為了不影響目前的php程式,試試在已經安裝的php上擴充套件curl #進入php原始碼目錄 [[email protected] local]#cd /home/cqs/source/php-7.0.1/ #進入ext擴充套件目錄 [[email protected] php-7.0.1 ]#cd ext [[email protected] ext ]#cd curl [[email protected]
 curl ]#phpize #報錯,沒有這個命令或檔案 Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module [[email protected] local]# cd /home/cqs/source/php-7.0.1/ext/ [[email protected] ext]# ./ext_skel --extname=my_module Creating directory my_module Creating basic files: config.m4 .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.
這樣以後我們會在這個目錄下生成一個目錄叫my_module 進入這裡面我們看看 [[email protected] ext]# cd my_module [[email protected] my_module]# ls acinclude.m4    build         config.h.in  config.nice    configure     CREDITS       install-sh  Makefile            Makefile.objects  modules       my_module.lo     run-tests.php aclocal.m4      config.guess  config.log   config. …………省略,注意最後的時候要去配置php.ini,增加對應的擴充套件  extension= /usr/local/php/lib/php/extensions/no-debug-zts-20151012/my_module.so #搞定之後我們執行以下程式碼 [[email protected] curl ]#/usr/local/php/bin/phpize  Configuring for: PHP Api Version:         20151012 Zend Module Api No:      20151012 Zend Extension Api No:   320151012 [[email protected] curl]# ./configure --with-curl=/usr/local/curl-7.20.0/    configure: error: Cannot find php-config. Please use --with-php-config=PATH [[email protected] curl]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl-7.20.0/ [[email protected] curl]# make#由於之前折騰了幾次,估計是有衝突的垃圾,一直報錯 [[email protected] curl]# make clean #清除垃圾 [[email protected] curl]#./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl-7.20.0/ [[email protected] curl]# make#這回妥妥的通過了 [[email protected] curl]# make install Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20151012/ [[email protected] curl]# cd  /usr/local/php/lib/php/extensions/no-debug-zts-20151012/ [[email protected] no-debug-zts-20151012]# ls curl.so  my_module.so  opcache.so  zip.so #看到了產生curl.so擴充套件了 接著修改對應的配置文件php.ini 增加 extension= /usr/local/php/lib/php/extensions/no-debug-zts-20151012/curl.so # /usr/local/php/bin/php -m 如果看到有curl項表示成功。 [[email protected] my_module]# /usr/local/php/bin/php -m [PHP Modules] Core ctype curl libxml my_module .... [Zend Modules] #重啟apache [[email protected] my_module]# /usr/local/httpd-2.4.18/bin/apachectl restart 在瀏覽器開啟info.php 說明成功安裝curl擴充套件了,解決了對應的問題。 結論:如果想在已經安裝的php擴充套件相關的軟體包時,我們可以不用對Php進行重新配置,編輯和安裝,我們可以利用phpize自定義擴充套件php的相關軟體包。

相關推薦

linuxphp擴充套件curl安裝

背景,在一段模擬curl的php程式程式碼出現了 Fatal error: Call to undefined function curl_init(), 經過查詢原因,發現了是php在安裝時配置configure沒有擴充套件curl外掛,那麼有啥方法可以解決這個問題呢

Linux/Unix PHP 擴充套件 cURL 編譯安裝和配置

Linux/Unix 和Window不同,新增cURL擴充套件需要生成curl.so檔案,然後在php.ini檔案中配置一下才能正常使用,尤其是在Mac機上,phpinfo()顯示curl enabled,可是在程式碼中依然不能使用curl,就是因為沒有生成和配置curl.

Linux-LNMP-PHP擴充套件模組安裝

/usr/local/php/bin/php -m //檢視模組 下面安裝一個redis的模組cd /usr/local/src/ wget https://codeload.github.com/phpredis/phpredis/zip/develop mv develop phpredis-dev

linux 配置 php 擴充套件curl

程式執行的時候遇到這個問題 我是在linux上執行的,發現好多朋友是在windows遇到的這個問題,我記錄一下; Fatal error: Call to undefined function curl_init() in /home/family/family/bbs

LinuxPHP新增curl模組

假如原先編譯的php目錄在/usr/local/php5目錄下;apache在/usr/local/apache2目錄下;php原始碼在/home/kevin125/src目錄下。如果實際目錄與假定的目錄不一致,則在下面的命令中做調整。1. 找到當前執行的php版本的原始碼目錄,如 php-5.2.10。進入

Linuxphp swoole擴充套件安裝

1、安裝swoole cd /usr/local/src wget  http://pecl.php.net/get/swoole-2.0.7.tgz tar zxvf  swoole-2.0.7.tgz cd&nbs

Linuxphp安裝Redis擴充套件(其他擴充套件同理)

1、cd  /usr/local/src/  切換到 3、tar zxvf   2.2.4.tar.gz  解壓檔案 4、cd  phpredis-2.2.4      #進入安裝目錄 5 、/usr/local/php/bin/phpize    # 使用 php

linuxphp安裝完成後如何整合mysql擴充套件

問題背景 平常我們都是先安裝mysql,然後才能去安裝php。假如先安裝php,後安裝mysql,由於php需要連線mysql,因而在php引擎中需要配置使用mysql.so擴充套件。這時需要手動編譯生成mysql.so擴充套件。解決方案 使用phpize工具能夠生成mysq

Linux PHP Version 7.0.1 mongodb服務端和擴充套件安裝

再次主要介紹服務端的安裝步驟,客戶端擴充套件簡單介紹下就行,可以直接使用此連結的編譯安裝包,下載地址http://download.csdn.net/download/jzj_xhj/102662221:放置在 /opt/php-7.0.7/lib/php/extension

centos 安裝php擴充套件curl

首先系統裡已經安裝curl 然後進入下載的php原始碼中的擴充套件目錄,我的在cd /root/php/php-7.1.11/ext/ ./configure --with-curl=/usr/include/curl/ (curl的安裝目錄) 然後make & make ins

Linuxphp安裝Redis擴充套件

安裝環境:CentOS 6.4  1、下載 下載地址:http://pecl.php.net/package/redis 檔名:phpredis-2.2.4.tar.gz 檔案下載成功後,上傳至/usr/local 2、安裝 [[email pr

LinuxPHP安裝oci8擴充套件

PHP通常搭配Mysql使用,但有時候也會連線到Oracle資料庫。 安裝PHP的oci8擴張之前,需要先安裝Oracle Instant Client( basic 或 basic lite 版就行了)。因為我們是從原始碼安裝PHP擴充套件,所以還需要下載 Instant

Linuxphp安裝zlib擴充套件

1. 下載安裝zlib 解壓tar包,進入目錄執行命令: 1 ./configure && make && make install 2. 新增php擴充套件,命令如下: 1 [[email p

LINUXPHP安裝VLD擴充套件

如果想檢視OPCODE程式碼來實現效能優化的目的,那麼需要安裝VLD擴充套件。 ②解壓該檔案     tar zxvf vld-0.13.0.tgz ③cd到vld-0.13.0.tgz檔案內

Linuxphp安裝Redis擴展

centos 6 end pecl php.ini restart ext 目錄 安裝完成 con http://pecl.php.net/package/redis 安裝環境:CentOS 6.4 1、下載 下載地址:http://pecl.php.n

php(5.6.30-ts-x86)及其他版本php擴充套件imagick安裝,及支援curl擴充套件,及一般擴充套件安裝方法

apache錯誤日誌中報錯: PHP Warning:  PHP Startup: Unable to load dynamic library 'E:/MediaServer/usr/local/php/ext\\php_imagick.dll' - \xd5\xd2\xb2\xbb

docker環境 php手動編譯安裝擴充套件 bcmath

網上找了好多apt-get的命令  都無效  只能手動編譯安裝嘍 首先 進入docker 專案  docker exec -it 專案名稱 bash 在根目錄下  git下php所有版本  然後切換到指定版本(我的7.2.7版本) http://php.

linuxPHP編譯安裝程式碼踩過的坑解決

坑1:編譯之前需要:需要安裝gcc 和 autoconfig,要不然安裝編譯不成功的!(如果系統有就不需要安裝了!) 坑2:解壓出來的PHP檔案裡的php.ini xxx 複製到在編譯PHP目錄下etc下。 坑3:如果php.ini 不生效,用命令  php -i | g

Linuxphp新增memcache擴充套件

很多時候我們都會遇到在已經安裝的php中新增其它的擴充套件。 那我們應該怎麼做呢? 這樣做。(我們的nginx和php都是已經安裝好了的,這裡就不做贅述了) 首先,我們需要下載php的memcache擴充套件包。 wget http://pecl.php.net/get/memcache-2

linuxPHP安裝gd庫

    在這裡必須記錄一下我gd的安裝過程,首先說明一下,PHP我只是一個小白白,由於搭建個人部落格的需要縮圖,所有需要PHP安裝gd,PHP安裝的時候預設是沒有安裝gd的,經過了週末兩天的掙扎,終於把gd擴充套件按上了,超級開心,部落格可以接著往下弄了。    廢話不多少,