file upload error log at centos php server - php

I'm testing file upload between client and server.
But file upload not working because below error.
Unable to move '/tmp/phpxQHW5q' to '/var/www/html/mri_image/test.jpg' in /var/www/html/server_form.php on line 49, referer: http://192.168.1.12/client_form.php
I have searched this problem at stackoverflow.
Most solution is permision problem.
So, tmp and mri_image folder own by apache and changed mod 755.
Then, not working i want to your help
For reference, my os is CentOS 7, php version is 7.3

I had an issue recently with Apache and PHP trying to write to /tmp, but stating that the script failed with an error "No such file or directory"
Centos 7 uses systemd, which has an awesome feature (PrivateTmp) that breaks Apache/PHP access to /tmp folders (particularly in cases where the files need to be shared to other processes/seen by others. This feature works by creating a sort of "virtual" /tmp directory for each process, so a file seen by Apache wouldn't be seen by PHP, etc.
First, copy the httpd.service and php-fpm.service files from /usr/lib/systemd/system/ to /etc/systemd/system using the commands below.
cp /usr/lib/systemd/system/httpd.service /etc/systemd/system/. && cp /usr/lib/systemd/system/php-fpm.service /etc/systemd/system/.
After copying those into place, edit each copy of the files in the new location and change the line with PrivateTmp=true to PrivateTmp=false using vi, or your preferred text editor.
vi /etc/systemd/system/httpd.service
vi /etc/systemd/system/php-fpm.service
After those changes, you need to restart systemd, as well as php-fpm and apache.
Restart systemd:
sudo systemctl daemon-reload
Restart apache:
sudo systemctl restart httpd
Restart php-fpm:
sudo systemctl restart php-fpm

Related

CentOS Linux release 8.0.1905 not taking change of php.ini

I want to remove output_buffering and want to make change to memory_limit by editing etc/php.ini file
But none of my changes are taking effect.
After editing etc/php.ini file as a super user. I've restarted httpd.service using following command
sudo systemctl restart httpd.service
I am using centOS 8
[root#backend adminuser]# cat /etc/*release
CentOS Linux release 8.0.1905 (Core)
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
CentOS Linux release 8.0.1905 (Core)
CentOS Linux release 8.0.1905 (Core)
php-common packages are as below
[root#backend adminuser]# rpm -qc php-common
/etc/php-zts.d/20-bz2.ini
/etc/php-zts.d/20-calendar.ini
/etc/php-zts.d/20-ctype.ini
/etc/php-zts.d/20-curl.ini
/etc/php-zts.d/20-exif.ini
/etc/php-zts.d/20-fileinfo.ini
/etc/php-zts.d/20-ftp.ini
/etc/php-zts.d/20-gettext.ini
/etc/php-zts.d/20-iconv.ini
/etc/php-zts.d/20-phar.ini
/etc/php-zts.d/20-sockets.ini
/etc/php-zts.d/20-tokenizer.ini
/etc/php.d/20-bz2.ini
/etc/php.d/20-calendar.ini
/etc/php.d/20-ctype.ini
/etc/php.d/20-curl.ini
/etc/php.d/20-exif.ini
/etc/php.d/20-fileinfo.ini
/etc/php.d/20-ftp.ini
/etc/php.d/20-gettext.ini
/etc/php.d/20-iconv.ini
/etc/php.d/20-phar.ini
/etc/php.d/20-sockets.ini
/etc/php.d/20-tokenizer.ini
/etc/php.ini
For SSE Script I want to make output_buffer as null or Off like my another server but its not taking any change. I tested by changing php.ini as a root user and restarted httpd services.
I am assuming you are using php-fpm
Following command worked for me.
Connect via terminal and Make sure you are Super(Root) user
sudo su
Now run following command
sudo systemctl restart php-fpm.service
Note : Test by making small change like increasing or decreasing memory_limit in php config file and run above command and review change using phpinfo()
You don't mention whether you're using mod_php or php-fpm. Running sudo systemctl restart httpd.service only helps for mod_php. If you're using php-fpm, you need sudo systemctl restart php-fpm.service instead.
Changing etc/php.ini does not work any more.
You need to add your own .ini file now under "/etc/php.d" and restart php
confirm the path from phpinfo. Look for
"Scan this dir for additional .ini files /etc/php.d"
create file (30 prefix to file name is like priority or how late to load):
sudo vi /etc/php.d/30-user.ini
Add entries like:
max_execution_time=200
post_max_size=100M
upload_max_filesize=100M
Restart PHP (restarting Apache does not help)
Check the service (if not present ..restarting Apache should work: sudo systemctl restart httpd )
sudo systemctl status php-fpm
Resart the service
sudo systemctl restart php-fpm

Not Upgraded Assets Files

I'm trying to update the CSS and JS file but I can not see this change on the site. Even, when I go to the CSS file with the address bar. I see an old version of the file.
I see the file updated when I access the file via FTP.
What have I done?
Added version to files, for example:
https://example.com/style.css?v=2 => Didn't work
I restarted the services
[root#server ~]# systemctl restart nginx.service && systemctl restart php-fpm.service
I deleted the Opcache's cache
php-fpm-cli -r 'var_dump(opcache_get_status());' -connect /var/run/php-fpm.sock
With private windows of browser. Didn't work.
I accessed the file from a different computer. Didn't work.
and, finally I restarted the server: I'm still seeing not updated CSS and JS files!
What could be the problem?
Server;
PHP 7.1, Nginx & PHP-FPM

Can't access to phpmyadmin in XAMPP [duplicate]

Problem:
I can't access localhost/phpmyadmin/
before I can access localhost/phpmyadmin/ but today when I'm trying to access this page I got weird page
also I can access localhost/xampp/ without any problem
Question:
How can I solve this problem ?
what you need to do is to add phpmyadmin to the apache configuration:
sudo nano /etc/apache2/apache2.conf
Add the phpmyadmin config to the file:
Include /etc/phpmyadmin/apache.conf
then restart apache:
sudo service apache2 restart
On windows, I think you can just navigate to the apache2 config file and include the phpmyadmin config file as shown above, then restart apache
A cleaner way is to create the new configuration file:
/etc/apache2/conf-available/phpmyadmin.conf
and write the following in it:
Include /etc/phpmyadmin/apache.conf
then, soft link the file to the directory /etc/apache2/conf-enabled:
sudo ln -s /etc/apache2/conf-available/phpmyadmin.conf /etc/apache2/conf-enabled
You should use localhost:portnumber/phpmyadmin
Here the Portnumber is the number which you set for your web server or if you have not set it until now it is by Default - 80.
Make sure that both apache webserver and MySQL server are running. I had the same failure because I forgot to start my webserver.
when you run Xampp, check the apache port no. ex: if it is displaying port 80, then type
http://localhost:80/phpmyadmin/
After that it will display automatically
http://localhost/phpmyadmin/
I am using Linux Mint :
After installing LAMP along with PhpMyAdmin, I linked both the configuration files of Apache and PhpMyAdmin. It did the trick. Following are the commands.
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 reload
sudo apt-get -y --reinstall install phpmyadmin;
sudo service apache2 restart;
Hope this helps.
It generally occurs when your default port for localhost is being used by another application (like apache tomcat). Easy fix is to stop the application and simply go to localhost/phpmyadmin.
In my case it worked after stopping apache tomcat.
Sometimes it's case sensitive. Have you tried going to http://localhost/phpMyAdmin?
Based on your output, one of your plugins is messing up with the phpmyadmin. Try disabling all plugins to see if that works.
If it does, enable them one by one and check again, to find the problematic one.
Resolving same problem on Ubuntu 14.04, I use code:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/phpmyadmin.conf
sudo /etc/init.d/apache2 reload
it is because since Ubuntu 13, Apache loads configuration files from the /etc/apache2/conf-enabled directory.
Ubuntu Documentation
You need reload the server.
If you use apache server
systemctl reload apache2
If you use nginx server
systemctl reload nginx
Judging by the output of the image which you linked in one of your comments:
http://imageshack.us/photo/my-images/638/erroruh.png/
... maybe you accidentally downloaded some form of the website from where you thought you were downloading phpMyAdmin. The text contains references to "Dropbox" which makes me think that the information displaying is in no way related to phpmyadmin.
Try re-installing and see if that helps...
http://www.phpmyadmin.net
Or it could be that Skype is running on the same port (it does by default).
Disable Skype or configure Skype to use another port
I also faced the same issue.
i worked on it and found out ,this is simply because i have mistakenly moved my "phpmyadmin" folder in to a some folder inside Xampp. Go through all the other folders which are inside the main "XAMPP" folder.
Then if you find the "phpmyadmin" inside another folder other than "xampp" move it back to the main "XAmpp" folder and refresh the page.
:)
A cleaner way to include the phpmyadmin config into apache2 is to create a new config file by:
sudo nano /etc/apache2/conf-enabled/phpmyadmin.conf
and write in it:
Include /etc/phpmyadmin/apache.conf
Run the Apache server, note down the port number(eg:8081)
Open your browser and type localhost:8081(or apache's port number)
Just change -
$cfg['Servers'][$i]['host'] = 'localhost';
in config.inc.ph. i.e. from existing to localhost if you installed it locally
Restarting the xampp services helped me
Make sure you still have phpMyAdmin maybe you deleted it in your htdocs folder?
Get the latest version: http://www.phpmyadmin.net/home_page/downloads.php
Unzip then place the phpMyAdmin (rename the folder if it has version numbers) in your htdocs folder.
Make sure Skype is disabled as it will some times run on the same port as your XAMPP install... I'm not sure why but apache installed via xampp on some windows 7 machines ive seen apache not run if skype is on after 10years of IT work.
So make sure apache is running, mysql is running and hit:
localhost/phpMyAdmin
You should get some kind of install prompt. Step through this you will learn lots along the way. But basically its one config file that needs some settings.
I had the same problem. Couldn't access http://localhost/joomla neither.
and I did not quite understand the other answers.
The simple solution for me:
stop all actions in xampp (I had apache and mysql running. apache on port 80 and 7000something)
quit firefox
restart the actions (apache and mysql)
restart firefox.
open http://localhost/phpmyadmin (or http://localhost/joomla - whatever it be)
voila!
Now apache runs on port 80 and 443 and mysql on 3306.
What you need to do is to add phpmyadmin to the apache configuration:⠀⠀⠀⠀⠀⠀⠀
sudo nano /etc/apache2/apache2.conf
Add the phpmyadmin config to the file:
Include /etc/phpmyadmin/apache.conf
Then restart apache:
sudo service apache2 restart
On ubuntu 18.0.1, I think you can just navigate to the apache2 config file and include the phpmyadmin config file as shown above, then restart apache
http://127.0.0.1/phpmyadmin/

How to force reloading php.ini file?

I configured a web server last week, it worked fine.
Today I request its homepage, I see a timezone error, as it should be configured into my php.ini file.
I try a phpinfo(); on my webserver, it gives me:
Configuration File (php.ini) Path /opt/rrh/php/lib
But no php.ini file loaded.
I investigate, the php file exists and has very large permissions:
ls -la /opt/rrh/php/lib
-rwxrwxrwx 1 apache root 68448 Nov 22 10:10 php.ini
I try a parse_ini_file("/opt/rrh/php/lib/php.ini"));, it returns no error...
Of course I restart my server a dozen of time.
What can I do more to resolve my problem?
My system:
Redhat 6
Apache 2.4
PHP 5.5.19 with libphp5.so apache module
TL;DR; If you're still having trouble after restarting apache or nginx, also try restarting the php-fpm service.
The answers here don't always satisfy the requirement to force a reload of the php.ini file. On numerous occasions I've taken these steps to be rewarded with no update, only to find the solution I need after also restarting the php-fpm service. So if restarting apache or nginx doesn't trigger a php.ini update although you know the files are updated, try restarting php-fpm as well.
To restart the service:
Note: prepend sudo if not root
Using SysV Init scripts directly:
/etc/init.d/php-fpm restart # typical
/etc/init.d/php5-fpm restart # debian-style
/etc/init.d/php7.0-fpm restart # debian-style PHP 7
Using service wrapper script
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart. # debian-style PHP 7
Using Upstart (e.g. ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Using systemd (newer servers):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
Or whatever the equivalent is on your system.
The above commands taken directly from this server fault answer
To force a reload of the php.ini you should restart apache.
Try sudo service apache2 restart from the command line.
Or sudo /etc/init.d/apache2 restart
You also can use graceful restart the apache server with service apache2 reload or apachectl -k graceful.
As the apache doc says:
The USR1 or graceful signal causes the parent process to advise the
children to exit after their current request (or to exit immediately
if they're not serving anything). The parent re-reads its
configuration files and re-opens its log files. As each child dies off
the parent replaces it with a child from the new generation of the
configuration, which begins serving new requests immediately.
sudo apachectl restart does the job in 2021 running Mac latest Big Sur OS
For Homebrew apache users it's brew services restart httpd

I can't access http://localhost/phpmyadmin/

Problem:
I can't access localhost/phpmyadmin/
before I can access localhost/phpmyadmin/ but today when I'm trying to access this page I got weird page
also I can access localhost/xampp/ without any problem
Question:
How can I solve this problem ?
what you need to do is to add phpmyadmin to the apache configuration:
sudo nano /etc/apache2/apache2.conf
Add the phpmyadmin config to the file:
Include /etc/phpmyadmin/apache.conf
then restart apache:
sudo service apache2 restart
On windows, I think you can just navigate to the apache2 config file and include the phpmyadmin config file as shown above, then restart apache
A cleaner way is to create the new configuration file:
/etc/apache2/conf-available/phpmyadmin.conf
and write the following in it:
Include /etc/phpmyadmin/apache.conf
then, soft link the file to the directory /etc/apache2/conf-enabled:
sudo ln -s /etc/apache2/conf-available/phpmyadmin.conf /etc/apache2/conf-enabled
You should use localhost:portnumber/phpmyadmin
Here the Portnumber is the number which you set for your web server or if you have not set it until now it is by Default - 80.
Make sure that both apache webserver and MySQL server are running. I had the same failure because I forgot to start my webserver.
when you run Xampp, check the apache port no. ex: if it is displaying port 80, then type
http://localhost:80/phpmyadmin/
After that it will display automatically
http://localhost/phpmyadmin/
I am using Linux Mint :
After installing LAMP along with PhpMyAdmin, I linked both the configuration files of Apache and PhpMyAdmin. It did the trick. Following are the commands.
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 reload
sudo apt-get -y --reinstall install phpmyadmin;
sudo service apache2 restart;
Hope this helps.
It generally occurs when your default port for localhost is being used by another application (like apache tomcat). Easy fix is to stop the application and simply go to localhost/phpmyadmin.
In my case it worked after stopping apache tomcat.
Sometimes it's case sensitive. Have you tried going to http://localhost/phpMyAdmin?
Based on your output, one of your plugins is messing up with the phpmyadmin. Try disabling all plugins to see if that works.
If it does, enable them one by one and check again, to find the problematic one.
Resolving same problem on Ubuntu 14.04, I use code:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/phpmyadmin.conf
sudo /etc/init.d/apache2 reload
it is because since Ubuntu 13, Apache loads configuration files from the /etc/apache2/conf-enabled directory.
Ubuntu Documentation
You need reload the server.
If you use apache server
systemctl reload apache2
If you use nginx server
systemctl reload nginx
Judging by the output of the image which you linked in one of your comments:
http://imageshack.us/photo/my-images/638/erroruh.png/
... maybe you accidentally downloaded some form of the website from where you thought you were downloading phpMyAdmin. The text contains references to "Dropbox" which makes me think that the information displaying is in no way related to phpmyadmin.
Try re-installing and see if that helps...
http://www.phpmyadmin.net
Or it could be that Skype is running on the same port (it does by default).
Disable Skype or configure Skype to use another port
I also faced the same issue.
i worked on it and found out ,this is simply because i have mistakenly moved my "phpmyadmin" folder in to a some folder inside Xampp. Go through all the other folders which are inside the main "XAMPP" folder.
Then if you find the "phpmyadmin" inside another folder other than "xampp" move it back to the main "XAmpp" folder and refresh the page.
:)
A cleaner way to include the phpmyadmin config into apache2 is to create a new config file by:
sudo nano /etc/apache2/conf-enabled/phpmyadmin.conf
and write in it:
Include /etc/phpmyadmin/apache.conf
Run the Apache server, note down the port number(eg:8081)
Open your browser and type localhost:8081(or apache's port number)
Just change -
$cfg['Servers'][$i]['host'] = 'localhost';
in config.inc.ph. i.e. from existing to localhost if you installed it locally
Restarting the xampp services helped me
Make sure you still have phpMyAdmin maybe you deleted it in your htdocs folder?
Get the latest version: http://www.phpmyadmin.net/home_page/downloads.php
Unzip then place the phpMyAdmin (rename the folder if it has version numbers) in your htdocs folder.
Make sure Skype is disabled as it will some times run on the same port as your XAMPP install... I'm not sure why but apache installed via xampp on some windows 7 machines ive seen apache not run if skype is on after 10years of IT work.
So make sure apache is running, mysql is running and hit:
localhost/phpMyAdmin
You should get some kind of install prompt. Step through this you will learn lots along the way. But basically its one config file that needs some settings.
I had the same problem. Couldn't access http://localhost/joomla neither.
and I did not quite understand the other answers.
The simple solution for me:
stop all actions in xampp (I had apache and mysql running. apache on port 80 and 7000something)
quit firefox
restart the actions (apache and mysql)
restart firefox.
open http://localhost/phpmyadmin (or http://localhost/joomla - whatever it be)
voila!
Now apache runs on port 80 and 443 and mysql on 3306.
What you need to do is to add phpmyadmin to the apache configuration:⠀⠀⠀⠀⠀⠀⠀
sudo nano /etc/apache2/apache2.conf
Add the phpmyadmin config to the file:
Include /etc/phpmyadmin/apache.conf
Then restart apache:
sudo service apache2 restart
On ubuntu 18.0.1, I think you can just navigate to the apache2 config file and include the phpmyadmin config file as shown above, then restart apache
http://127.0.0.1/phpmyadmin/

Categories