PHP3与PHP4共存实例
笔者一直都在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();

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le débogage multithread C++ peut utiliser GDB : 1. Activer la compilation des informations de débogage ; 2. Définir les points d'arrêt ; 3. Utiliser les threads d'information pour afficher les threads ; 4. Utiliser le thread pour changer de thread ; Cas réel de débogage : 1. Utilisez threadapplyallbt pour imprimer la pile ; 2. Vérifiez l'état du thread ; 3. Exécutez le thread principal en une seule étape ;

L'application horloge est-elle absente de votre téléphone ? La date et l'heure apparaîtront toujours sur la barre d'état de votre iPhone. Cependant, sans l'application Horloge, vous ne pourrez pas utiliser l'horloge mondiale, le chronomètre, le réveil et bien d'autres fonctionnalités. Par conséquent, réparer l’application d’horloge manquante devrait figurer en haut de votre liste de tâches. Ces solutions peuvent vous aider à résoudre ce problème. Correctif 1 – Placer l’application Horloge Si vous avez supprimé par erreur l’application Horloge de votre écran d’accueil, vous pouvez remettre l’application Horloge à sa place. Étape 1 – Déverrouillez votre iPhone et commencez à faire glisser votre doigt vers la gauche jusqu'à atteindre la page Bibliothèque d'applications. Étape 2 – Ensuite, recherchez « horloge » dans le champ de recherche. Étape 3 – Lorsque vous voyez « Horloge » ci-dessous dans les résultats de recherche, maintenez-la enfoncée et

Comment utiliser LeakSanitizer pour déboguer les fuites de mémoire C++ ? Installez LeakSanitizer. Activez LeakSanitizer via l'indicateur de compilation. Exécutez l’application et analysez le rapport LeakSanitizer. Identifiez les types d’allocation de mémoire et les emplacements d’allocation. Corrigez les fuites de mémoire et assurez-vous que toute la mémoire allouée dynamiquement est libérée.

Cet article présente des raccourcis pour le débogage et l'analyse de la fonction Go, notamment : le débogueur intégré dlv, qui est utilisé pour suspendre l'exécution, vérifier les variables et définir des points d'arrêt. Journalisation, utilisez le package de journaux pour enregistrer les messages et les afficher pendant le débogage. L'outil d'analyse des performances pprof génère des graphiques d'appels et analyse les performances, et utilise gotoolpprof pour analyser les données. Cas pratique : Analyser les fuites mémoire via pprof et générer un graphe d'appel pour afficher les fonctions à l'origine des fuites.

Déboguer efficacement les expressions Lambda : Débogueur IntelliJ IDEA : définissez des points d'arrêt sur les déclarations de variables ou les méthodes, inspectez les variables internes et leur état et consultez la classe d'implémentation réelle. Java9+JVMTI : connectez-vous à la JVM d'exécution pour obtenir des identifiants, inspecter le bytecode, définir des points d'arrêt et surveiller les variables et l'état pendant l'exécution.

Tests de concurrence et débogage Les tests de concurrence et le débogage dans la programmation simultanée Java sont cruciaux et les techniques suivantes sont disponibles : Tests de concurrence : tests unitaires : isolez et testez une seule tâche simultanée. Tests d'intégration : tester l'interaction entre plusieurs tâches simultanées. Tests de charge : évaluez les performances et l'évolutivité d'une application sous une charge importante. Débogage simultané : points d'arrêt : suspendez l'exécution du thread et inspectez les variables ou exécutez le code. Journalisation : enregistrez les événements et l'état du fil. Trace de pile : identifiez la source de l’exception. Outils de visualisation : surveillez l'activité des threads et l'utilisation des ressources.

Les outils de débogage du code asynchrone PHP incluent : Psalm : un outil d'analyse statique qui trouve les erreurs potentielles. ParallelLint : un outil qui inspecte le code asynchrone et fournit des recommandations. Xdebug : Une extension pour déboguer les applications PHP en activant une session et en parcourant le code. D'autres conseils incluent l'utilisation de la journalisation, des assertions, l'exécution de code localement et l'écriture de tests unitaires.

Les erreurs courantes de débogage PHP incluent : Erreurs de syntaxe : vérifiez la syntaxe du code pour vous assurer qu'il n'y a pas d'erreurs. Variable non définie : avant d'utiliser une variable, assurez-vous qu'elle est initialisée et qu'une valeur lui est attribuée. Point-virgules manquants : ajoutez des points-virgules à tous les blocs de code. La fonction n'est pas définie : vérifiez que le nom de la fonction est correctement orthographié et assurez-vous que le bon fichier ou l'extension PHP est chargé.
