本文目錄一覽:
- 1、php程序怎麼部署運行
- 2、PHP項目的標準部署方式是怎樣的
- 3、php手把手教你做網站(二十九)thinkphp6部署多個數據庫
- 4、php項目如何部署在服務器上
- 5、使用sublime寫php 怎麼部署?
- 6、linux php源碼怎麼部署
php程序怎麼部署運行
首先你要有windows2003和iis6.0(6.0以下就免談了)。
然後要安裝的東東依次為:php5.2,mysql5.0,phpmyadmin2.11
這些東西一個個去找實在是太麻煩了,幸好我們有wamp。
只要學會了安裝wamp,那麼就只剩下“配置”了。
下面所有牽涉到的文件路徑都以wamp為準,php在wamp中的目錄為wamp\bin\php\php5.2.5。
要讓iis能夠解析php,首先要把php.ini複製到c:\windows目錄下,把php5isapi.dll複製到c:\windows\system32下。
然後從windows2003的管理工具中進入iis,新添加一個web服務擴展,擴展名可以任意填寫,比如說“php服務擴展”,要求的文件則是php5isapi.dll,勾上“設置擴展狀態為允許”。
然後新建一個網站,假設已經有了一個網站,右鍵“屬性”,為網站創建一個“應用程序池”,執行權限為“腳本和可執行程序”,點擊“配置”,添加一個
“應用程序擴展”,在新彈出的窗口中,可執行文件選擇剛才的php5isapi.dll(最好是c:\windows\system32下的),”擴展
名”為.php,動作限制為“get,head,post,trace”,勾去“確認文件是否存在”
ok,這樣php就基本上配置好了,可以去網站根目錄下創建一個index.php,寫入“
?php
phpinfo();?”,然後打開瀏覽器測試一下就可以了。
首先你必須修改php.ini,找到extension_dir這個參數,假設wamp安裝在d盤,改成
extension_dir
=
“d:\wamp\bin\php\php5.2.5\ext\”,然後找到extension=php_mysql.dll和
extension=php_mysqli.dll,確保他們之前的逗號已經去掉。
接下就是關鍵了,在wamp\bin\php\php5.2.5目錄下有一個關鍵的文件libmysql.dll,昨天困擾了許久,才想起以前配置
mysql的慘痛經歷(都是wamp惹的禍,把php/mysql的安裝搞的太簡單了),這個文件一定要複製到c:\windows\system32目
錄下去,否則就算在php.ini裡面打開extension=php_mysql.dll也沒有用,當瀏覽需要連接mysql的頁面時,會報錯說
“mysql”類型不存在。
我們就遇到了這樣一個實際問題:54上已經在運行asp以及asp.net的網站,iis搶佔了80端口,apache就不能使用了,這樣難道你要別人在
單,在wamp中找到httpd.conf文件,將其中所有“80”字樣替換成你想要的端口,重啟apache就可以了。apache裡面一共有4個地方
需要修改80:
listen
80,servername
localhost:80,namevirtualhost
*:80,前2個是默認的,後2個是配置了virtualhost才會出現。/pre
評論
加載更多
PHP項目的標準部署方式是怎樣的
PHP 的世界裡有 Composer(),這個玩意兒你可以聯想成 npm 之於 Node.js,gem 之於 Ruby。它有一個官方的包倉庫 Packagist()。
一般的項目部署也有相關的工具,例如 phing(),可以認為是 Ant 之於 Java。
舉
例來說,現在做的項目用的是 Github+Jenkins 的方案,每個開發人員從主倉庫 fork 到自己賬戶,然後提交 Pull
Request。Pull Request 會觸發 Jenkins 的 Pull Testing,將改動部署到 QA
環境中,然後該怎麼測試就怎麼測試吧。部署腳本的工作主要包括清理原先的項目文件和數據庫,取回代碼庫中最新的版本,跑 phing(包括數據庫的
Migration、運行 PHPUnit, PHP CodeSniffer等一系列QA工具)等。最終部署到生產環境的過程是類似的。
php手把手教你做網站(二十九)thinkphp6部署多個數據庫
前邊介紹了負載均衡,mysql同步,接下來介紹tp6分布式部署多個數據庫,實現讀寫分離。
tp6的分布式部署讀和寫仍然是一個系統,這裡我們分開操作,給用戶展示的就是從數據庫,後端添加文章就是主庫,然後同步到從庫。
1、配置數據庫鏈接參數
目標:實現隨機使用數據庫展示信息,只是讀操作。
測試:前台可以讀取表中內容(存放的不一致),查看是否是隨機顯示的。
打開.env文件進行編輯
說明:
2、編輯database.php
找到deploy設置為1分布式部署,下邊不要改,都是讀,寫入的也就是後端的我們單獨建站連接主庫。
配置完成,tp6使用的是mt_rand取隨機數判斷使用哪個數據庫。
3、數據庫交互寫操作
比如瀏覽量沒必要每次都去更新數據庫,可以先使用redis緩存,存夠1000的整數倍,再去更新數據庫。
4、後台獨立,也就是寫
可以前後端分離,單獨做一個網站(沒有前端)使用ip訪問或者獨立的域名連接後台。
5、上傳附件(jquery ajax跨域上傳)
使用了nginx負載均衡,肯定是多個一樣的網站,如果圖片存放到一個站,別的就不能訪問了,可以單獨設置一個附件(壓縮包,圖片等)服務器,可以使用二級域名連接,這就要求我們上傳附件的時候,是上傳到附件服務器。
jqueryURL
API控制器apdpic方法
說明:
也可以先傳到後台服務器然後使用(php)ftp上傳,或者是通過curl上傳到附件服務器,感覺那樣畢竟麻煩,直接設置跨域會比較簡單。
也測試了使用jsonp跨域,但是不能上傳附件。
6、thinkphp6實現讀寫分離(在一個站點)
我個人是不喜歡這樣的,負載均衡應該是均衡地讀,也就是前台單獨一個站點,後端的寫是另一個獨立的站點,看個人喜好吧。
獨立後台的優點:可以提升安全性,因為我們的後台網址是不公開的,避免用戶猜測一些後台的信息。
.env配置按照1所述編輯,默認第一個是主庫。
database.php
願大家在新的一年心想事成,萬事如意!!!
php項目如何部署在服務器上
一、阿里ECS服務器配置
1.因為線上已經有幾個站點了.所以要配置ngnix多站點
2.阿里雲ecs目錄結構,ngxin 在/etc/nginx/目錄下,配置的地方主要是nginx.config文件。或者在conf.d新建一個配置文件然後在include到nginx.config文件中
3.nginx.config新建站點信息
server {
listen 80;
server_name www.你的域名.com;
root 站點的相對路徑;
index index.php index.html index.htm;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
#try_files $uri $uri/ /index.php;
root /opt/www/pcweb/ytyy_pc;
index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }} url重寫(可以沒有)
# redirect server error pages to the static page /40x.html
#
error_page 404 /404.html; 40錯誤頁面配置
location = /40x.html {
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html; 50錯誤頁面配置
location = /50x.html {
}
location ~ \.php$ {
root 站點相對路徑;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
配置文件的基本內容如上;
配置完成後測試配置文件是否正確
這樣配置就可以使用了
然後重啟nginx服務器
這樣nginx配置就結束了可以使用了。吧站點文件放到對應的目錄下面。我直接git clone過去的。
二.thinkphp項目文件轉移
本來以為上傳完就結束了。上傳上去碰到的第一個問題就是訪問頁面報錯,頁面被電信的114頁面劫持了。。。麻蛋 看不到報錯
萬能百度大法
解決方法1.internet高級選項-隱私-站點 新加阻止站點
解決方法2:控制面板-網絡和internet-本地連接-屬性-ipv4 使用如下ip
終於搞定可以看到報錯頁面了。。。。。。麻蛋。再次開啟萬能百度大法
得到最終結論是文件目錄權限引起的。thinkphp 的runtime目錄沒有寫入權限。。thinkphp文件上傳到阿里的好像都有這個問題。解決問題很簡單
進入到項目文件目錄
直接跟文件最高權限
chmod -R 777 [目錄] //linux修改文件權限
使用sublime寫php 怎麼部署?
sublime是一款集成開發環境,說白了是一款開發工具,用來方便寫代碼的。php的部署與你是什麼工具編寫關係不大,不過有的工具提供自動部署的功能,這個意義不大。具體的部署如下:
首先要確保已在電腦安裝web服務器(nginx,apache等);
啟動web服務器;
將寫好的代碼文件或者目錄防止web服務器服務目錄;
用終端命令執行,或者在瀏覽器輸入項目路勁運行即可。
linux php源碼怎麼部署
想要部署代碼,首先先把環境裝好,根據你的系統,我裝的是Ubuntu的,一般都是先裝PHP,再裝Apache,再裝數據庫。然後講你的項目上傳到相關的目錄,然後再Apache配置裡面指定目錄,再重啟Apache,就可以訪問了
原創文章,作者:IOXU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147222.html