php5 problem

jaboo

Member
Hallo,

schön wäre, wenn ich nun genau beschreiben könnte, was mein Problem mit
FreeBSD, PHP5 und MySQL ist, aber alles was ich bisher vermutet und ausprobiert habe, hat nichts bewirkt.

Nach einem portupgrade im Dezember läuft mein Code nicht mehr:

Fatal error: Call to undefined function mysql_connect() in /path/file.php on line n

phpinfo() meint:

Additional Modules
[keine]

Mein System:


# uname -sr

FreeBSD 5.4-RELEASE-p7

# pkg_info | grep apache

apache-2.0.55_2 Version 2 of Apache web server with prefork MPM.

# pkg_info | grep php5

php5-5.1.2 PHP Scripting Language (Apache Module and CLI)
php5-bz2-5.1.2 The bz2 shared extension for php
php5-calendar-5.1.2 The calendar shared extension for php
php5-ctype-5.1.2 The ctype shared extension for php
php5-curl-5.1.2 The curl shared extension for php
php5-dom-5.1.2 The dom shared extension for php
php5-exif-5.1.2 The exif shared extension for php
php5-extensions-1.0 A "meta-port" to install PHP extensions
php5-ftp-5.1.2 The ftp shared extension for php
php5-gd-5.1.2 The gd shared extension for php
php5-gettext-5.1.2 The gettext shared extension for php
php5-iconv-5.1.2 The iconv shared extension for php
php5-imap-5.1.2 The imap shared extension for php
php5-ldap-5.1.2 The ldap shared extension for php
php5-mbstring-5.1.2 The mbstring shared extension for php
php5-mcrypt-5.1.2 The mcrypt shared extension for php
php5-mysql-5.1.2 The mysql shared extension for php
php5-mysqli-5.1.2 The mysqli shared extension for php
php5-openssl-5.1.2 The openssl shared extension for php
php5-pcre-5.1.2 The pcre shared extension for php
php5-posix-5.1.2 The posix shared extension for php
php5-session-5.1.2 The session shared extension for php
php5-simplexml-5.1.2 The simplexml shared extension for php
php5-snmp-5.1.2 The snmp shared extension for php
php5-sqlite-5.1.2 The sqlite shared extension for php
php5-tokenizer-5.1.2 The tokenizer shared extension for php
php5-xml-5.1.2 The xml shared extension for php
php5-xmlrpc-5.1.2 The xmlrpc shared extension for php
php5-xmlwriter-5.1.2 The xmlwriter shared extension for php
php5-xsl-5.1.2 The xsl shared extension for php
php5-zlib-5.1.2 The zlib shared extension for php

# pkg_info | grep mysql

mysql-client-4.1.16_1 Multithreaded SQL database (client)
mysql-scripts-4.1.16 Multithreaded SQL database (scripts)
mysql-server-4.1.16 Multithreaded SQL database (server)
php5-mysql-5.1.2 The mysql shared extension for php
php5-mysqli-5.1.2 The mysqli shared extension for php


Kann mir jemand helfen ?

Danke, jaboo.
 
PHP5-Problem

Hi,

an der httpd.conf habe ich in der Zwischenzeit nichts geändert.

Relevante Abschnitte in meiner httpd.conf sind:


LoadModule access_module libexec/apache2/mod_access.so
LoadModule auth_module libexec/apache2/mod_auth.so
LoadModule auth_anon_module libexec/apache2/mod_auth_anon.so
LoadModule auth_dbm_module libexec/apache2/mod_auth_dbm.so
LoadModule charset_lite_module libexec/apache2/mod_charset_lite.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule deflate_module libexec/apache2/mod_deflate.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule logio_module libexec/apache2/mod_logio.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so
LoadModule cern_meta_module libexec/apache2/mod_cern_meta.so
LoadModule expires_module libexec/apache2/mod_expires.so
LoadModule headers_module libexec/apache2/mod_headers.so
LoadModule usertrack_module libexec/apache2/mod_usertrack.so
LoadModule unique_id_module libexec/apache2/mod_unique_id.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
<IfDefine SSL>
LoadModule ssl_module libexec/apache2/mod_ssl.so
</IfDefine>
LoadModule mime_module libexec/apache2/mod_mime.so
LoadModule dav_module libexec/apache2/mod_dav.so
LoadModule status_module libexec/apache2/mod_status.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
LoadModule asis_module libexec/apache2/mod_asis.so
LoadModule info_module libexec/apache2/mod_info.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule imap_module libexec/apache2/mod_imap.so
LoadModule actions_module libexec/apache2/mod_actions.so
LoadModule speling_module libexec/apache2/mod_speling.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so
LoadModule mysql_auth_module libexec/apache2/mod_auth_mysql.so


cu, jaboo.
 
OK, ich hatte das auch mal.

a) Was steht in Deiner php.ini?
b) Was genau hast Du upgedatet? Apache 1.3 -> 2? php4 -> php5?
c) Hast Du die php5-extensions installiert?

Gruß,
Wolfgang
 
zu c)

Ja. Erst make config und alles was ich haben will angekreuzt, dann make install.

zu b)

Apache 2.0 und PHP 5 sind nach wie vor geblieben. Ich habe lediglich ein portupgrade gemacht.

zu a)


engine = On
zend.ze1_compatibility_mode = Off
asp_tags = Off
precision = 12
y2k_compliance = On
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = On
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 8M
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
display_errors = On
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
error_log = /var/log/php_errors
variables_order = "EGPCS"
register_globals = Off
register_long_arrays = On
register_argc_argv = On
post_max_size = 8M
magic_quotes_gpc = On
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
include_path = ".:/usr/local/share/smarty:/usr/local/share/pear"
doc_root =
user_dir =
extension_dir = "/usr/local/lib/php/20041030"
enable_dl = On
file_uploads = On
upload_max_filesize = 2M
allow_url_fopen = On
default_socket_timeout = 60
define_syslog_variables = Off
SMTP = localhost
smtp_port = 25
sql.safe_mode = Off
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_password =
mysqli.reconnect = Off
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
dbx.colnames_case = "unchanged"
bcmath.scale = 0
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0
session.save_handler = files
session.save_path = "/tmp"
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 4
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
ingres.allow_persistent = On
ingres.max_persistent = -1
ingres.max_links = -1
ingres.default_database =
ingres.default_user =
ingres.default_password =
pfpro.defaulthost = "test-payflow.verisign.com"
pfpro.defaultport = 443
pfpro.defaulttimeout = 30
sockets.use_system_read = On
tidy.clean_output = Off
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
 
Ich als kleines Ex-Win-Würstchen würde ein make deinstall clean machen und apache2, php5, php5-extensions neu installieren. Ich kann keinen Fehler in Deiner Config erkennen...

W.
 
was steht in der: /usr/local/etc/php/extensions.ini ?

Gruß paefchen
 
da ist ja auch keiner, warum auch, geht ja alles. Denn wenn phpinfo() geht ist php(5) geladen. Ihm fehlen _lediglich_ die Extensions.

Gruß paefchen
 
PHP5-Problem

Hi,

so nun habe ich noch mal ...

(1)

cd /usr/ports/www/apache20
make deinstall clean
cd /usr/ports/lang/php5
make deinstall clean
cd /usr/ports/lang/php5-extensions
make deinstall clean


(2)

cd /usr/ports/www/apache20
make install
cd /usr/ports/lang/php5
make install
cd /usr/ports/lang/php5-extensions
make install


... gemacht.

Das Problem ist noch immer da. (Ich hoffe, daß die Reihenfolge richtig war.)

in meiner extensions.ini steht folgendes:


extension=pdf.so
extension=fileinfo.so
extension=pdo.so
extension=pdo_mysql.so
extension=imagick.so
extension=simplexml.so
extension=dom.so
extension=xml.so
extension=xmlrpc.so
extension=snmp.so
extension=ldap.so
extension=pcre.so
extension=mbstring.so
extension=ftp.so
extension=exif.so
extension=mysql.so
extension=xsl.so
extension=calendar.so
extension=gettext.so
extension=bz2.so
extension=zlib.so
extension=curl.so
extension=posix.so
extension=mysqli.so
extension=tokenizer.so
extension=session.so
extension=openssl.so
extension=mcrypt.so
extension=sqlite.so
extension=iconv.so
extension=ctype.so
extension=gd.so
extension=imap.so
extension=xmlwriter.so


Mit mysql kann ich (auf der Kommandozeile) arbeiten, scheint in Ordnung zu sein.
Bei phpmyadmin ist dann aber die Funktion preg_replace() unbekannt.

Bei der gallery ist die Funktion session_id() unbekannt.

Ja, scheinbar habe ich ein Problem mit den Extensions, aber wie löse ich das nun ?

cu, jaboo.
 
den httpd wirste wohl neugestartet haben, Gell?!

was sagt:
Code:
php -m
(sollte eigentlich die geladenen Module anzeigen)

und was sagt:

Code:
php -r 'phpinfo();' | grep -E "additional|extension_dir"
schaut bei mir so aus:

Code:
> php -r 'phpinfo();' | grep -E "additional|extension_dir"
Scan this dir for additional .ini files => /usr/local/etc/php
additional .ini files parsed => /usr/local/etc/php/extensions.ini
extension_dir => /usr/local/lib/php/20050922 => /usr/local/lib/php/20050922

wenn er bei dir dann auch einen "extension_dir" anzeigt schau doch mal nach ob da die Module liegen oder ob der leer ist.

Gruß paefchen
 
jaboo said:
[...]
zu a)

[...]
extension_dir = "/usr/local/lib/php/20041030"
[...]

Ich sehe gerade die Zeile, kommentier die doch mal aus, kann es sein das die php.ini von einer älteren PHP Version ist. So schaut das nämlich für mich aus.

Normalerweise brauchst Du kein extension_dir angeben da dieser mit ein Kompiliert ist. Es sei denn er weicht eben davon ab.

Gruß paefchen
 
PHP5-Problem gelöst

Hi,

1000 Dank an paefchen und alle, die sich bemüht haben !!!

extension_dir = "/usr/local/lib/php/20041030"

paefchen said:
Ich sehe gerade die Zeile, kommentier die doch mal aus, kann es sein das die php.ini von einer älteren PHP Version ist. So schaut das nämlich für mich aus.

War tatsächlich der Übeltäter. ;)

cu, jaboo.
 
Hi

Ich hab ein etwas anderes Problem. Also bei mir ist auf ner frisch installierten FreeBSD Maschine nach dem Installieren der php5-extensions die extension für mysql nicht drauf. Soweit kein Problem hab ich mir gedacht, installierst du sie halt dazu. Aber irgendwie schaff ich das nicht. Ich hab versucht mit make deinstall die ganzen extensions zu deinstallieren, und wieder zu installieren (nachdem ich in dem Makefile mysql auf on gestellt hatte). Geht aber nicht, die extension wird einfach nicht installiert. Hat jemand nen Tip?
 
mann bin ich bescheuert...manchmal seh ich wirklich den Wald vor lauter Bäumen nicht. portinstall php5-mysql hat natürlich abhilfe geschaffen.
Ich entschuldige mich für obiges Posting!
 
Back
Top