A. docker 安裝php擴展出錯,bash: docker-php-ext-install: command not found

不是這樣用的啊 進容器後 直接 yum install php 就完了 進容器後就不支持 docker+命令了

B. php如何寫一個輕量級的容器

大致的意思就是,准備一個盒子(容器),事先將項目中可能用到的類扔進去,在項目中直接從容器中拿,也就是避免了直接在項目中到處new,造成大量耦合。取而代之的是在項目類裡面增設 setDi()和getDi()方法,通過Di同一管理類。

C. PHP 根據判斷大容器的width,輸入小容器

如果你這個寬度是按照客戶端的來調整的話這個在PHP里是沒法做的.你只能變通到其他的方法.
用JS動態調整每個LI的寬度可以做到.
當你的大窗口是750的時候,你可以把該容器下的class設定為li1
.li1{width:275px; margin:1px;}
.li2{width:180px;margin:1px;}
在PHP里你的LI是一直下支的.
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
JS判斷出大容器的寬度後就會對LI進行自動調整,就能夠自適應顯示了.
思路就是這樣,實現也不難.

D. php 怎麼計算容器里的圖片載入時間

是計算PHP程序將圖片列出來的時間呢還是在客戶端完全載入後的時間?

如果是前者 那麼用PHP程序是可以實現的,使用microtime函數前後相減即可

但若要計算從它載入開始到客戶端完全載入完成的話 PHP就實現不了了 要用JS來計算才行

E. docker 怎麼啟動php容器

這是最簡單的架構方式,在 Docker 發展早期,Docker 被大量的濫用,比如,一個鏡像內啟動多服務,日誌收集依舊是按照 Syslog 或者別的老方式,鏡像容量非常龐大,基礎鏡像就能達到 80M,這和 Docker 當初提出的思想完全南轅北轍了,而 Alpine Linux 發行版作為一個輕量級 Linux 環境,就非常適合作為 Docker 基礎鏡像,Docker 官方也推薦使用 Alpine 而不是 Debian 作為基礎鏡像,未來大量的現有官方鏡像也將會遷移到 Alpine 上。本文所有鏡像都將以 Alpine 作為基礎鏡像。

F. 如何 在Docker窗口中部署PHP開發環境

環境部署一直是一個很大的問題,無論是開發環境還是生產環境,但是 Docker
將開發環境和生產環境以輕量級方式打包,提供了一致的環境。極大的提升了開發部署一致性。當然,實際情況並沒有這么簡單,因為生產環境和開發環境的配置是完全不同的,比如日誌等的問題都需要單獨配置,但是至少比以前更加簡單方便了,這里以
PHP 開發作為例子講解 Docker 如何布置開發環境。
一般來說,一個 PHP 項目會需要以下工具:
Web 伺服器: Nginx/Tengine
Web 程序: PHP-FPM
資料庫: MySQL/PostgreSQL
緩存服務: Redis/Memcache
這是最簡單的架構方式,在 Docker 發展早期,Docker 被大量的濫用,比如,一個鏡像內啟動多服務,日誌收集依舊是按照 Syslog
或者別的老方式,鏡像容量非常龐大,基礎鏡像就能達到 80M,這和 Docker 當初提出的思想完全南轅北轍了,而 Alpine Linux
發行版作為一個輕量級 Linux 環境,就非常適合作為 Docker 基礎鏡像,Docker 官方也推薦使用 Alpine 而不是 Debian
作為基礎鏡像,未來大量的現有官方鏡像也將會遷移到 Alpine 上。本文所有鏡像都將以 Alpine 作為基礎鏡像。
Nginx/Tengine
這部分筆者已經在另一篇文章 Docker 容器的 Nginx 實踐中講解了 Tengine 的 Docker 實踐,並且給出了
Dockerfile,由於比較偏好 Tengine,而且官方已經給出了 Nginx 的 alpine 鏡像,所以這里就用
Tengine。筆者已經將鏡像上傳到官方 DockerHub,可以通過
<code>docker pull chasontang/tengine:2.1.2_f</code>
獲取鏡像,具體請看 Dockerfile。
PHP-FPM
Docker 官方已經提供了 PHP 的 7.0.7-fpm-alpine 鏡像
這樣解決就可以了,簡單粗暴,個人建議還是去後盾網去經常看看教學視頻學習學習吧

G. 怎麼使用Docker搭建PHP開發環境

在Docker流行之前,要搭建開發環境通常有兩種選擇:一種是使用wamp、xampp、mamp等集成開發環境安裝包,另外一種就是使用普通虛擬機來安裝linux伺服器,然後通過下載一鍵安裝包(如:lnmp)或者逐個安裝做需要的軟體。前者雖然簡單,但太不靈活,想要安裝額外的軟體或者版本會很麻煩或者乾脆不知道如何下手;後者除了費時費力,佔用本機資源過多,可能會導致系統運行緩慢,而且如果你忘了及時生成快照,一旦失誤,追悔莫及。
幸好,Docker來了!它簡單易用,靈活多變,方便迅捷,掃除了以上種種弊端。如果你想稍微詳細的認識下這位虛擬化界的明星,傳送門( 快速理解Docker )。
安裝Docker
平時開發的環境一般都是Mac或者windows,Linux暫時沒有研究,所以接下來只針對前兩者寫下步驟,這兩個平台,官方都推薦了兩種安裝方式:app和工具包(toolbox)。註:app方式對系統版本和配置會有一定要求,而且Windows需要你安裝微軟虛擬化產品Hyper-V,具體見app鏈接頁面。
APP
https://docs.docker.com/docke...
https://docs.docker.com/docke...
工具包
https://www.docker.com/proc...
以上方式本質上都會在你的系統中安裝docker-engine、docker-machine、docker-compose和VirtualBox(除了Windows的app方式)。因為docker高度依賴linux內核提供的cgroup,namespace 等特性和介面,所以mac和windows平台需要使用docker-machine和虛擬機在後台創建運行一個linux內核。
而我的安裝方式就是直接在 Mac 上使用brew,如果你未曾安裝brew,則在終端執行以下代碼
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝docker所需要的包:
brew install docker docker-machine docker-compose virtualbox
創建一個docker-machine:
docker-machine create -d virtualbox default
註:-d 指定使用virtualbox來創建default 為machine名稱
告訴主機如何找到docker-machine:
echo $(docker-machine env ) >> .zshrc
註:這里的.zshrc是我的用戶配置文件,如果你用bash,可以改為.bash_profile。
啟動docker-machine:
docker-machine start default Compose你的應用
docker-compose是用於定義和運行復雜Docker應用的工具。你可以在docker-compose.yml文件中定義一個多容器的應用,然後使用一條命令來啟動,然後所有預先定義好的操作都會被自動完成。
為了不重復造輪子,直接使用github上的第三方包。當然你也可以親自構建每一個你所需要的容器鏡像,然後用docker-compose.yml將所有容器組織起來運行,但這需要你具備一定的linux基礎和docker的運行機制和相關語法。
本人正在學習 laradock 這個基於Docker的開發環境包,然後根據自己的需要刪除了一些我認為不常用的部分、修改了部分配置以及增加了Elasticsearch容器,最終新開了自己的倉庫 DevDock 。當然,也推薦使用laradock。
我的倉庫目前支持的容器組合:
nginx , php-fpm , mysql , redis , mongo , apache2 , memcached , elasticsearch , workspace .
註:workspace和php-fpm一般會被其他容器所依賴,所以會自動運行,啟動時不必指定。
進入到你的應用的上級目錄:
git clone https://github.com/RystLee/DevDock.git
修改hosts
如果直接安裝啟動,是可以通過Docker IP : 192.168.99.100,就能直接訪問nginx的,但一般而言為了方便記憶,我們會去修改hosts文件,增加一條:
192.168.99.100 laravel.dev
修改你的nginx中的站點配置文件:
在DevDock目錄下找到nginx,修改sites目錄下的站點配置文件,通過修改本地的hosts來自定義域名,並在nginx容器中的sites文件夾下,修改相應的域名映射。
server_name laravel.dev
安裝啟動應用
cd DevDock docker-compose up -d nginx mysql ... # 後面跟上你想使用的容器即可
然後,耐心地等待開發環境自動搭建完成即可,如果中途出現錯誤,一般是因為GFW,網路會不太通暢,重新執行一兩次就好,完成之後,打開瀏覽器,訪問: http://laravel.dev 即可。

H. PHP中有沒有現成的key-value高效的容器類

PHP的數組功能就可以,比一般的key-value強多了

I. 如何安裝php優化容器zendoptimer

編譯前預處理
在編譯opcache之前,先做一下預處理,生成configure文件;
#cd zendopcache-7.0.3
#/opt/lampp/bin/phpize [這是我安裝的xampp環境,phpize執行文件所在的目錄,如果是自己源碼編譯,則為/usr/local/php/bin/phpize,phpize 命令是用來准備 PHP 拓展模塊的編譯環境。編譯安裝。如果還有什麼疑問的話,可以去後盾人看看這樣你會懂得更多