Project

General

Profile

« Previous | Next » 

Revision e1fda0c0

Added by Scott Ullrich over 16 years ago

Make rc.php_ini_setup smarter by testing final list of php modules for
loading errors. If a module did not load remove it from php.ini and
add the load error to /var/run/php_modules_load_errors.txt

View differences:

etc/rc.php_ini_setup
62 62
	sysvmsg \
63 63
	sysvsem \
64 64
	sysvshm \
65
	sqlite \
65 66
	tokenizer \ 
66 67
	uploadprogress \
67 68
	xml \
......
143 144

  
144 145
# Copy php.ini file to etc/ too (cli)
145 146
cp /usr/local/lib/php.ini /usr/local/etc/php.ini
147

  
148
# Remove old log file if it exists.
149
if [ -f /var/run/php_modules_load_errors.txt ]; then
150
	rm /var/run/php_modules_load_errors.txt
151
fi 
152

  
153
# Check loaded modules and remove anything that did not load correctly
154
LOADED_MODULES=`php -m 2>/dev/null | grep -v "\["`
155
for EXT in $PHPMODULES; do
156
	SHOULDREMOVE="true"
157
	for LM in $LOADED_MODULES; do
158
		if [ "$EXT" = "$LM" ]; then
159
			SHOULDREMOVE="false"
160
		fi		
161
	done
162
	if [ "$SHOULDREMOVE" = "true" ]; then
163
		if [ -f "${EXTENSIONSDIR}${EXT}.so" ]; then
164
			echo ">>> ${EXT} did not load correctly.  Removing from php.ini..." >> /var/run/php_modules_load_errors.txt
165
			cat /usr/local/lib/php.ini | grep -v $EXT > /tmp/php.ini
166
			mv /tmp/php.ini /usr/local/lib/php.ini
167
		fi
168
	fi
169
done
170

  
171
# Copy php.ini file to etc/ too (cli)
172
cp /usr/local/lib/php.ini /usr/local/etc/php.ini
173

  
174

  
175

  
176

  

Also available in: Unified diff