php-protobuf擴展和代碼生成工具使用

https://github.com/protocolbuffers/protobuf/releases/tag/v3.5.1

下載選擇?https://github.com/protocolbuffers/protobuf/releases/download/v3.5.1/protobuf-php-3.5.1.zip

yum install autoconf automake libtool 
tar -zxvf protobuf-php-3.5.1.tar.gz
cd protobuf-3.5.1
./autogen.sh
./configure && make && make install
sudo ldconfig                  
 安裝php的protobuf擴展wget  https://github.com/allegro/php-protobuf/archive/master.zip
unzip master.zip
cd php-protobuf-master
yum install php-devel(安裝依賴包)
phpize
./config --with-php -config=/usr/local/php/bin/php -config
make && make install
//然后在php.ini 里面加一下extension = 'protobuf.so',再重啟php與nginx即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444362.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444362.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444362.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

geoip環境配置

1.下載geoip的php擴展庫 wget http://pecl.php.net/get/geoip-1.1.1.tgz tar zxvf geoip-1.1.1.tgz cd geoip-1.1.1 phpize ./configure --with-php-config=/usr/bin/php-config --with-geoip make &make install 2.配置php支持geoip擴展 [root]# ll /usr/lib64/php/modul…

leetcode259. 較小的三數之和

給定一個長度為 n 的整數數組和一個目標值 target&#xff0c;尋找能夠使條件 nums[i] nums[j] nums[k] < target 成立的三元組 i, j, k 個數&#xff08;0 < i < j < k < n&#xff09;。 示例&#xff1a; 輸入: nums [-2,0,1,3], target 2 輸出: 2 解…

Struts2和Spring和Hibernate應用實例

Struts2、Spring和Hibernate應用實例Struts作為MVC 2的Web框架&#xff0c;自推出以來不斷受到開發者的追捧&#xff0c;得到廣泛的應用。作為最成功的Web框架&#xff0c;Struts自然擁有眾多的優點&#xff1a;MVC 2模型的使用、功能齊全的標志庫&#xff08;Tag Library&…

C++(STL):31 ---關聯式容器map源碼剖析

map的特性 所有元素都會根據元素的鍵值自動被排序map中的pair結構 map的所有元素類型都是pair,同時擁有實值(value)和鍵值(key)pair的第一個元素視為鍵值,第二個元素視為實值map不允許兩個元素擁有相同的鍵值下面是stl_pair.h中pair的定義://代碼摘錄與stl_pair.htempla…

leetcode360. 有序轉化數組

給你一個已經 排好序 的整數數組 nums 和整數 a、b、c。對于數組中的每一個數 x&#xff0c;計算函數值 f(x) ax2 bx c&#xff0c;請將函數值產生的數組返回。 要注意&#xff0c;返回的這個數組必須按照 升序排列&#xff0c;并且我們所期望的解法時間復雜度為 O(n)。 示…

C++(STL):27 ---關聯式容器set源碼剖析

一、set set語法使用參閱:set的特性 set所有元素都會根據元素的鍵值自動被排序set中的鍵值就是實值,實值就是鍵值默認情況下set不允許兩個元素重復set的迭代器 不能根據set的迭代器改變set元素的值。因為其鍵值就是實值,實值就是鍵值,如果改變set元素值,會嚴重破壞set組織…

C++(STL):28 ---關聯式容器map用法

作為關聯式容器的一種,map 容器存儲的都是 pair 對象,也就是用 pair 類模板創建的鍵值對。其中,各個鍵值對的鍵和值可以是任意數據類型,包括 C++ 基本數據類型(int、double 等)、使用結構體或類自定義的類型。 通常情況下,map 容器中存儲的各個鍵值對都選用 string 字符…

C++(STL):26 ---關聯式容器set用法

set容器都會自行根據鍵的大小對存儲的鍵值對進行排序, 只不過 set 容器中各鍵值對的鍵 key 和值 value 是相等的,根據 key 排序,也就等價為根據 value 排序。 另外,使用 set 容器存儲的各個元素的值必須各不相同。更重要的是,從語法上講 set 容器并沒有強制對存儲元素的類…

leetcode387. 字符串中的第一個唯一字符

給定一個字符串&#xff0c;找到它的第一個不重復的字符&#xff0c;并返回它的索引。如果不存在&#xff0c;則返回 -1。 案例: s "leetcode" 返回 0. s "loveleetcode", 返回 2. 注意事項&#xff1a;您可以假定該字符串只包含小寫字母。 思路&…

C++(STL):30 ---關聯式容器map的operator[]和insert效率對比

通過前面的學習我們知道,map 容器模板類中提供有 operator[ ] 和 insert() 這 2 個成員方法,而值得一提的是,這 2 個方法具有相同的功能,它們既可以實現向 map 容器中添加新的鍵值對元素,也可以實現更新(修改)map 容器已存儲鍵值對的值。舉個例子(程序一): #include …

C++(STL):29 ---關聯式容器map 迭代器

無論是前面學習的序列式容器,還是關聯式容器,要想實現遍歷操作,就必須要用到該類型容器的迭代器。當然,map 容器也不例外。C++ STL 標準庫為 map 容器配備的是雙向迭代器(bidirectional iterator)。這意味著,map 容器迭代器只能進行 ++p、p++、--p、p--、*p 操作,并且迭…

C++(STL):35---multimap容器

在掌握 C++ STL map 容器的基礎上,本節再講一個和 map 相似的關聯式容器,即 multimap 容器。所謂“相似”,指的是 multimap 容器具有和 map 相同的特性,即 multimap 容器也用于存儲 pair<const K, T> 類型的鍵值對(其中 K 表示鍵的類型,T 表示值的類型),其中各個…

在Spring + Hibernate中使用二級緩存配置步驟

在SSH中用二級緩存大概分以下幾步&#xff1a; 1、首先在hbm文件里對涉及到的對象設置緩存方式&#xff0c;或根據情況設置自己需要的 2、在ehcache的配置文件里配置一個cache&#xff0c;name為這個類名 3、在applicationContext.xml的hibernate配置里 hibernate.cache.use_q…

C++(STL):34--- multiset容器詳解

前面章節中,對 set 容器做了詳細的講解。回憶一下,set 容器具有以下幾個特性: 不再以鍵值對的方式存儲數據,因為 set 容器專門用于存儲鍵和值相等的鍵值對,因此該容器中真正存儲的是各個鍵值對的值(value);set 容器在存儲數據時,會根據各元素值的大小對存儲的元素進行…

C++(STL):36---關聯式容器multiset、multimap源碼剖析

一、multiset multiset的特性以及用法和set完全相同,唯一的差別在于它允許鍵值重復,因此它的插入操作采用的是底層RB-tree的insert_equal()而非insert_unique() multiset源碼 //以下代碼摘錄于stl_multiset.htemplate <class _Key, class _Compare, class _Alloc>clas…

leetcode 455. 分發餅干

假設你是一位很棒的家長&#xff0c;想要給你的孩子們一些小餅干。但是&#xff0c;每個孩子最多只能給一塊餅干。對每個孩子 i &#xff0c;都有一個胃口值 gi &#xff0c;這是能讓孩子們滿足胃口的餅干的最小尺寸&#xff1b;并且每塊餅干 j &#xff0c;都有一個尺寸 sj 。…

C++(STL):33---hash_set、hash_map、hash_multiset、hash_multimap源碼剖析

這些關聯容器底層都是使用hash table實現的.一、hash_set 由于hash_set底層是以hash table實現的,因此hash_set只是簡單的調用hash table的方法即可與set的異同點:hash_set與set都是用來快速查找元素的但是set會對元素自動排序,而hash_set沒有hash_set和set的使用方法相同在…

leetcode402. 移掉K位數字

給定一個以字符串表示的非負整數 num&#xff0c;移除這個數中的 k 位數字&#xff0c;使得剩下的數字最小。 注意: num 的長度小于 10002 且 ≥ k。 num 不會包含任何前導零。 示例 1 : 輸入: num "1432219", k 3 輸出: "1219" 解釋: 移除掉三個數字…

C++:43---派生類向基類轉換、靜態/動態的類變量

一、繼承中類的類型轉換規則 我們普通的編程規則規定,如果我們想把引用或指針綁定到一個對象上,則引用或指針的類型必須與所綁定的對象的類型一致或者對象的類型含有一種可接受的const類型轉換規則。但是繼承關系中的類比較例外,其規則如下:①我們可以將基類的指針或引用綁…

C++:42---類的內存大小

一、類內存的特點 類內無任何成員變量時,默認為1字節類內成員遵循內存的對齊補齊規則(與結構體的對齊補齊一樣)函數不占內存(存在代碼段)有繼承關系時,父類的成員變量也屬于類內寸的一部分,但是C++標準并沒有明確規定派生類的對象在內存中如何分布(也就是說基類部分和派…