COSH () ist eine integrierte Funktion für PHP 4.0.0 und höher. Wenn Ihre PHP -Version sehr alt ist, kann dies möglicherweise nicht unterstützt werden. Sie können die aktuelle PHP -Version auf folgende Weise anzeigen:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'aktuellPHPVersion: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">phpversion</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Wenn die Version zu niedrig ist, wird empfohlen, PHP auf eine neuere Version zu aktualisieren (mindestens Php 5.6+).
COSH () gehört zur mathematischen Erweiterung von PHP ( ext-bcmath oder ext-math ist nicht erforderlich, aber einige PHP-Konfigurationen erfordern möglicherweise, dass die Erweiterung von PHP_MATH aktiviert ist), und in seltenen Fällen enthalten einige dünne PHP-Anlagen oder benutzerdefinierte Kompiles möglicherweise nicht diese Funktion.
Funktionen_existen können verwendet werden, um festzustellen:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'cosh'</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"cosh Funktionen verfügbar"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"cosh Funktion nicht definiert,Mathematische Erweiterungen können erforderlich sein"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Wenn "undefiniert" zurückgegeben wird, kann es auf folgende Weise aktiviert werden:
Finden Sie erweitert = php_math.dll (Windows) in php.ini oder stellen Sie sicher, dass die Mathematikverlängerung unter Linux installiert ist.
Starten Sie den Webserver neu (z. B. Apache, Nginx+PHP-FPM).
Manchmal definieren Entwickler eine Funktion namens Cosh selbst oder nennen sie im Namespace falsch, um die integrierte Funktion zu überschreiben oder zu verbergen. Überprüfen Sie, ob im Code eine ähnliche Definition vorhanden ist:
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">cosh</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$x</span></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$x</span></span><span>; </span><span><span class="hljs-comment">// Fehlerbeispiel</span></span><span>
}
</span></span>In diesem Fall wird empfohlen, die benutzerdefinierte Funktion umzubenennen, um Konflikte mit integrierten Funktionen zu vermeiden.
Wenn die PHP -Konfiguration kurzfristig nicht geändert werden kann, können Sie die COSH -Funktion manuell implementieren:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'cosh'</span></span><span>)) {
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">cosh</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$x</span></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> (</span><span><span class="hljs-title function_ invoke__">exp</span></span><span>(</span><span><span class="hljs-variable">$x</span></span><span>) + </span><span><span class="hljs-title function_ invoke__">exp</span></span><span>(-</span><span><span class="hljs-variable">$x</span></span><span>)) / </span><span><span class="hljs-number">2</span></span><span>;
}
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Diese Methode stellt sicher, dass der Code in jeder Umgebung ausgeführt wird. Es ist jedoch besser, das Problem von nicht verabschiedeten Erweiterungen aus dem Stamm zu lösen.