PHP3与PHP4共存实例_PHP教程
笔者一直都在php3环境下调试程序,后来换成php4后,就觉得问题不少。
主要是一些原来在php3下运行正常的程序忽然发现在php4下出了好多毛病。
而原来在php4下的程序到了php3中又说xx函数没定义或者说某个函数语法不完整什么的。于是忽然想起:可以不可以把两者都装上呢?也好测试程 序对两者的兼容性啊。
笔者参考的php4/3的安装和说明文档中并没有具体说明方法,大概只说 了两者可以通过--enable-versioning指令以及DSO模式达到共存目的。那到底是如何个DSO呢?经过笔者n次反复琢磨安装和配置实践,最终成功将 两者都顺利安装到同一个web服务器内,凡是.php3的文件就由php3解析,而.php文件就由php4解析。
实现的原理:
要实现两个不同版本的解析器共存工作,必须使用enable-versioning 指令,而应该在什么时候使用呢?这个取决于哪个版本的解析器安装在 后面,那么这个指令就只需要在后面安装的时候使用。就是说,如果你 是先装php4(本例中就是这样),后装php3的,那么配置php3的时候就要 添加enable-versioning指令。反过来也是一样道理。
以下是安装配置步骤:
1、考虑到笔者自己的系统中装的是php4,采用的是static模式,因此如果要 采用DSO,那么只能是php3采用了。但是enable-versioning到底是什么时候 加呢?由于文档中并没清楚说明,笔者只能自己测试了。关于安装apache的配置指令这里就不多赘述了。
2、先编译和安装php4,采用静态方式,主要指令如下:
./configure --with-mysql=/www/mysql --with-apache=../apache_1.3.12
> --enable-track-vars
3、注意:编译和安装好php4后,要先将apache安装好,否则下一步以DSO模式 安装和编译php3的时候没办法apxs脚本了。并且要注意!!!!的是,配置apache 的时候要加入--enable-shared=max指令(就是使用dso方式)然后再编译并 安装好apache。
4、最后,就配置和编译php3。解压后,运行:
./configure --with-mysql=/www/mysql --with-apxs=/www/httpd/bin/apxs
> --enable-versioning
make
make install
一般情况下基本上没问题。
如果读者使用的是php4rc1等比较老的php4的话也许在编译的时候出现不去 编译php4rc1目录的内容而只编译php3目录内容,那么一个解决方法是在编译 好php4后将php4rc1的目录改变名字,这样就没问题了。
测试:一般只要顺利通过编译和安装,那么只需要修改好httpd.conf关于php3和 php4的设置项,然后重新启动apache就可以了。
在htdocs目录下建立两个文件test.php 和test.php3,正常情况下调用test.php会显示php4的内容而调用test.php3则显示php3的内容。
test.php/test.php3内容如下:
phpinfo();

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您的手機中缺少時鐘應用程式嗎?日期和時間仍將顯示在iPhone的狀態列上。但是,如果沒有時鐘應用程序,您將無法使用世界時鐘、碼錶、鬧鐘等多項功能。因此,修復時鐘應用程式的缺失應該是您的待辦事項清單的首位。這些解決方案可以幫助您解決此問題。修復1–放置時鐘應用程式如果您錯誤地從主畫面中刪除了時鐘應用程序,您可以將時鐘應用程式放回原位。步驟1–解鎖iPhone並開始向左側滑動,直到到達「應用程式庫」頁面。步驟2–接下來,在搜尋框中搜尋「時鐘」。步驟3–當您在搜尋結果中看到下方的「時鐘」時,請按住它並

C++多執行緒偵錯可使用GDB:1.啟用偵錯資訊編譯;2.設定斷點;3.使用infothreads查看執行緒;4.用thread切換執行緒;5.使用next、stepi、locals調試。實戰案例調試死鎖:1.使用threadapplyallbt列印堆疊;2.檢查執行緒狀態;3.單步執行主執行緒;4.使用條件變數協調存取來解決死鎖。

如何使用LeakSanitizer調試C++記憶體洩漏?安裝LeakSanitizer。透過編譯標誌啟用LeakSanitizer。運行應用程式並分析LeakSanitizer報告。識別記憶體分配類型和分配位置。修復記憶體洩漏,確保釋放所有動態分配的記憶體。

本文介紹了Go函數調試和分析的捷徑,包括:內建偵錯器dlv,用於暫停執行、檢查變數、設定斷點。日誌記錄,使用log包記錄訊息,在調試時查看。效能分析工具pprof,產生呼叫圖並分析效能,使用gotoolpprof分析資料。實戰案例:透過pprof分析記憶體洩漏,產生呼叫圖顯示導致洩漏的函數。

有效調試Lambda表達式:IntelliJIDEA調試器:在變數宣告或方法上設定斷點,檢查內部變數和狀態,查看實際實作類別。 Java9+JVMTI:連接到運行時JVM取得標識符,檢查字節碼設定斷點,監視執行期間變數和狀態。

並發測試和調試Java並發程式設計中的並發測試和調試至關重要,以下技術可供使用:並發測試:單元測試:隔離並測試單一並發任務。整合測試:測試多個並發任務之間的交互作用。負載測試:評估應用程式在高負載下的效能和可擴展性。並發調試:斷點:暫停線程執行並檢查變數或執行程式碼。日誌記錄:記錄線程事件和狀態。堆疊追蹤:識別異常源頭。視覺化工具:監視執行緒活動和資源使用情況。

調試PHP非同步程式碼的工具包括:Psalm:靜態分析工具,可發現潛在錯誤。 ParallelLint:檢查非同步程式碼並提供建議的工具。 Xdebug:用於偵錯PHP應用程式的擴展,可透過啟用會話並逐步執行程式碼來偵錯。其他技巧還包括使用日誌記錄、斷言、局部運行程式碼和編寫單元測試。
